关于c#4.0:C#-Excel互操作性

C# -Excel interoperability

我想从C 4.0调用Excel工作表(与2010速成版相比)。

当我宣布,

1
2
3
4
Microsoft.Office.Interop.Excel.ApplicationClass excel =
    new Microsoft.Office.Interop.Excel.ApplicationClass();

excel.Visible = true;

我收到错误为

无法嵌入互操作类型"microsoft.office.interop.excel.applicationClass"。而是使用适用的接口。

什么汤?


这是一篇关于这个的博客文章。看起来你需要改变

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

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

我的答案是将嵌入互操作类型标记为false。看看这个问题。


解决了的:

Excel.ApplicationClass源于Excel.Application接口,甚至可以使用Excel.Application接口实例化excel。将此代码重写为以下代码将产生完全相同的结果:

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

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

注意前面的Excel.Application,而不是Excel.ApplicationClass

另外请注意,这是直接从applicationclass的msdn页面中删除的。


您需要将变量声明为Microsoft.Office.Interop.Excel.Application,但将其实例化为Microsoft.Office.Interop.Excel.ApplicationClass


对于MS Office 2016,您不需要使用以下任何戏剧

4