2009-12-17 7 views
24

Chcę wywołać arkusz Excela z C# 4.0 (VS 2010 Express Edition).C# -Excel interoperability

Kiedy deklarują,

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

excel.Visible = true; 

otrzymuję błąd jak

typu Interop 'Microsoft.Office.Interop.Excel.ApplicationClass' nie mogą być osadzone. Zamiast tego użyj właściwego interfejsu.

Co to jest dusza?

Odpowiedz

35

Here to blog, który zajmuje się tym. Wygląda na to trzeba zmienić

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

do

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

trzeba zadeklarować zmienną jako Microsoft.Office.Interop.Excel.Application, ale oznacz ją jako Microsoft.Office.Interop.Excel.ApplicationClass.

1
Excel.Application = new Excel.ApplicationClass(); 

Uwaga na wiodące Excel.Application, a nie Excel.ApplicationClass.

Zauważ, że jest to prosto z MSDN page for ApplicationClass.

5

Odpowiedzią było dla mnie oznaczenie typów Interop jako fałszywych. Zobacz pytanie: this.

3

rozwiązany:

Excel.ApplicationClass wywodzi Excel.Application interfejsu i można nawet wystąpienia Excel pomocą Excel.Application interfejs. Przepisywanie jak poniżej kod produkuje dokładnie takie same wyniki:

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

dla MS Office 2016 należy użyć następujących bez dramatów

Excel.Application oExcel = new Excel.Application(); 
Powiązane problemy