在作導出Excel時,有一行代碼
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();app
new了一個接口,編譯器也報錯,並且運行正確。函數
此接口定義:ui
namespace Microsoft.Office.Interop.Excel { [CoClass(typeof(ApplicationClass))] [Guid("000208D5-0000-0000-C000-000000000046")] public interface Application : _Application, AppEvents_Event { } }
谷歌之:spa
NET提供Interop 程序集,它用做託管和非託管代碼之間的橋樑,將 COM 對象成員映射爲等價的 .NET 託管成員。.net
在.net裏面非託管轉換成託管的接口用CoClass標記接口轉換成類,因此excel.application 實例化是能夠的。excel
還有一種替代此行代碼的方法,
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass();對象
類型「Microsoft.Office.Interop.Excel.ApplicationClass」未定義構造函數
沒法嵌入互操做類型「Microsoft.Office.Interop.Excel.ApplicationClass」。請改用適用的接口。blog
解決辦法是將引用的DLL:Microsoft.Office.Interop.Excel;的嵌入互操做類型改成false,就能夠了。接口