Работа с Excel C#. Кто может объяснить почему выскакивает исключение?

Узнай цену своей работы

Формулировка задачи:

Не хочется открывать книгу Excel. Написано все вроде правильно. Материал брал отсюда. Исключение выскакивает когда пытаюсь открыть книгу на строчку с "Open". вот код.
 private void ExportExcel(string name)
        {
            string appProgID = "Excel.Application";
            // Получаем ссылку на интерфейс IDispatch
            Type excelType = Type.GetTypeFromProgID(appProgID);
            // Запускаем Excel
            object excel = Activator.CreateInstance(excelType);
            
            object workbooks = excel.GetType().InvokeMember("Workbooks", BindingFlags.GetProperty, null, excel, null);
 
            // Открытие файла d:\book1.xls
            // Заносим в массив параметров имя файла
            object[] args = new object[1];
            args[0] = "D:\book1.xls";
            // Пробуем открыть книгу
            object workbook = workbooks.GetType().InvokeMember("Open", BindingFlags.InvokeMethod, null, workbooks, args);
 
            object oWorksheets = workbook.GetType().InvokeMember("Worksheets", BindingFlags.GetProperty, null, workbook, null);

            // Тут что-то делаем с книгой
 
            // Просто сохраняем книгу
            workbook.GetType().InvokeMember("Save", BindingFlags.InvokeMethod, null, workbook, null);
            
            // Уничтожение объекта Excel.
            Marshal.ReleaseComObject(excel);
            // Вызываем сборщик мусора для немедленной очистки памяти
            GC.GetTotalMemory(true); 
        }

Решение задачи: «Работа с Excel C#. Кто может объяснить почему выскакивает исключение?»

textual
Листинг программы
args[0] = @"D:\book1.xls";

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5