Microsoft.Office.Interop.Excel.ApplicationClass没有定义的构造函数

我试图按照如何在C#教程中打开一个Excel文件 ,即在Com选项卡上添加一个引用到Microsoft Office 14.0 Object Library并尝试编译代码:

 using Excel = Microsoft.Office.Interop.Excel; //... Excel.Application xlApp; Excel.Workbook xlWorkBook; Excel.Worksheet xlWorkSheet; xlApp = new Excel.ApplicationClass();//error here //... 

并面临编译时的错误,说

没有为Microsoft.Office.Interop.Excel.ApplicationClasstypes定义构造函数。

我错过了什么?

尝试这个:

 Excel._Application xlApp = new Excel.Application(); 

使用以下来打开它:

 xlApp = CreateObject("Excel.Application"); 

CreateObject创build并返回对COM对象的引用。 文档可以在这里find:

http://msdn.microsoft.com/en-us/library/7t9k08y5%28v=vs.71%29.aspx

如果您使用C#4.0(.NET 4),则可以使用更简单的语法

 var app = new Application( ); var workbook = app.Workbooks.Open("test.xls"); 

关于var :它使你更容易工作,因为C#决定select哪种types。 如果感兴趣,你可以阅读关于dynamic变种的 风格

请记住,在C#4.0之前的互操作是完全不同的现象,以及C#如何处理Microsoft对象。

只是让你知道有多不同,这就是你应该在C#4.0之前编码,以便与Word文档进行交谈。

 object fileName = @"WordFile.docx"; object missing = System.Reflection.Missing.Value; object readOnly = true; var doc = wordApp.Documents.Open(ref fileName, ref missing, ref readOnly, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);