2009-12-17 14 views
24

Desidero chiamare il foglio Excel da C# 4.0 (VS 2010 Express Edition).C# - Interoperabilità eccellente

Quando dichiaro,

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

excel.Visible = true; 

ricevo errore come

tipo Interop 'Microsoft.Office.Interop.Excel.ApplicationClass' non può essere incorporato. Utilizzare invece l'interfaccia applicabile.

Qual è l'anima?

risposta

35

Here è un post del blog che si occupa di questo. Sembra che avete bisogno di cambiare

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

a

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

È necessario dichiarare la variabile come Microsoft.Office.Interop.Excel.Application, ma un'istanza come Microsoft.Office.Interop.Excel.ApplicationClass.

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

Nota leader Excel.Application, non Excel.ApplicationClass.

Inoltre, questo è direttamente fuori dallo MSDN page for ApplicationClass.

5

La risposta per me era contrassegnare i tipi di Interop incorporati come falsi. Vedi domanda this.

3

risolto:

Excel.ApplicationClass deriva dal Excel.Application interfaccia e si può anche un'istanza di Excel utilizzando Excel.Application interfaccia. Riscrittura questo codice come di seguito produce esattamente lo stesso risultato:

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

per MS Office 2016 è necessario utilizzare il seguente senza drammi

Excel.Application oExcel = new Excel.Application(); 
Problemi correlati