C # -Excel совместимость - PullRequest
       42

C # -Excel совместимость

24 голосов
/ 17 декабря 2009

Я хочу вызвать Excel Sheet из C # 4.0 (VS 2010 Express Edition).

Когда я заявляю,

Microsoft.Office.Interop.Excel.ApplicationClass excel =
    new Microsoft.Office.Interop.Excel.ApplicationClass();

excel.Visible = true;

Я получаю ошибку как

Тип взаимодействия "Microsoft.Office.Interop.Excel.ApplicationClass" не может быть встроен. Вместо этого используйте соответствующий интерфейс.

Что такое душа?

Ответы [ 6 ]

35 голосов
/ 17 декабря 2009

Здесь - это запись в блоге, которая занимается этим. Похоже, вам нужно изменить

Microsoft.Office.Interop.Excel.ApplicationClass();

до

Microsoft.Office.Interop.Excel.Application();
5 голосов
/ 25 декабря 2011

Ответом для меня было пометить типы Embed Interop как ложные. См. этот вопрос.

3 голосов
/ 15 сентября 2012

Решено:

Excel.ApplicationClass происходит от интерфейса Excel.Application, и можно даже создать экземпляр Excel, используя интерфейс Excel.Application Переписав этот код, как показано ниже, вы получите точно такие же результаты:

Excel.Application xlapp = new Excel.Application();
1 голос
/ 17 декабря 2009
Excel.Application = new Excel.ApplicationClass();

Обратите внимание на ведущий Excel.Application, а не Excel.ApplicationClass.

Также обратите внимание, что это прямо из страницы MSDN для ApplicationClass .

1 голос
/ 17 декабря 2009

Вам необходимо объявить переменную как Microsoft.Office.Interop.Excel.Application, но создать ее экземпляр как Microsoft.Office.Interop.Excel.ApplicationClass.

0 голосов
/ 22 января 2018

Для MS Office 2016 вам нужно использовать следующие без драм

Excel.Application oExcel = new Excel.Application();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...