Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
4 / 4 / 0
Регистрация: 03.03.2010
Сообщений: 11
1

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

15.05.2011, 00:08. Просмотров 2138. Ответов 2
Метки нет (Все метки)


Не хочется открывать книгу Excel. Написано все вроде правильно. Материал брал отсюда.
Исключение выскакивает когда пытаюсь открыть книгу на строчку с "Open".
вот код.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 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); 
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.05.2011, 00:08
Ответы с готовыми решениями:

Может кто объяснить почему не передается файл по TCP?
Всем привет, пишу клиент-серверное приложение... Организовал подключение и наладил простую передачу...

Работа с Excel: выскакивает исключение System.Runtime.InteropServices.COMException (0x800A03EC)
Доброго дня. Суть вопроса такова, выскакивает исключение...

Работа с методами asList и sortedList, кто может объяснить?
Добрый день! При знакомстве с коллекциями, а конкретней с ListUtils столкнулся с проблемой: НЕ могу...

кто может объяснить,почему на моем компе программа работает на других нет?код в Delphi
unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

__________________
Помогаю в написании курсовых работ и дипломов здесь.
Записывайтесь на профессиональные курсы С#-разработчиков‌
2
1304 / 977 / 127
Регистрация: 08.12.2009
Сообщений: 1,299
15.05.2011, 00:22 2
C#
1
args[0] = "D:\\book1.xls";
или
C#
1
args[0] = @"D:\book1.xls";
Добавлено через 2 минуты
зы. не очень понятно зачем используется позднее связывание (то есть вообще отражения).. работай с Excel через COMInterop, там все интерфейсы рабочие.
0
4 / 4 / 0
Регистрация: 03.03.2010
Сообщений: 11
15.05.2011, 00:22  [ТС] 3
спасибо! я уже сам нашел)

но все равно спасибо,Mikant!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2011, 00:22

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

Почему выскакивает исключение если есть обработка исключений?
Почему выскакивает исключение если есть обработка исключений? как такое может быть?

Кто может объяснить a = a + b?
Сейчас разбирал функцию for. Но суть не в этом. Меня застопорило такое уравнение: sum = sum + i. Я...

Кто может объяснить?
Кто может объяснить как это делать? Задание 1. В оперативной памяти вектор int X расположен,...

Кто может объяснить ошибку?
нужно найти сумму элементов нечетных столбцов, вроде все так, но ищет четных..в упор не вижу ошибку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.