C#-Excel互操作性

我想从C#4.0(VS 2010 Express Edition)中调用Excel工作表。

当我宣布时,

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

我收到错误为

Interoptypes“Microsoft.Office.Interop.Excel.ApplicationClass”不能embedded。 改用适用的界面。

什么是灵魂?

这是一个处理这个问题的博客文章。 看起来你需要改变

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

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

我的答案是将Embed Interoptypes标记为false。 看到这个问题。

解决了:

Excel.ApplicationClass派生自Excel.Application接口,甚至可以使用Excel.Application接口实例化Excel。 如下所示重写此代码将产生完全相同的结果:

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

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

 Excel.Application = new Excel.ApplicationClass(); 

请注意领先的Excel.Application ,而不是Excel.ApplicationClass

还要注意,这是直接从ApplicationClass的MSDN页面 。