Подтвердить что ты не робот

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

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

Когда я объявляю,

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

excel.Visible = true;

Я получаю сообщение об ошибке как

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

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

4b9b3361

Ответ 1

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

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

to

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

Ответ 2

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

Ответ 3

Решено:

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

Excel.Application xlapp = new Excel.Application();

Ответ 4

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

Ответ 5

Excel.Application = new Excel.ApplicationClass();

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

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