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

时间:2012-12-24 01:59:02

标签: c# excel interop excel-interop

我尝试按照How to open an Excel file in C# 教程,即在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.ApplicationClass类型。

我错过了什么?

3 个答案:

答案 0 :(得分:39)

试试这个:

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

答案 1 :(得分:3)

使用以下命令打开它:

xlApp = CreateObject("Excel.Application");

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

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

答案 2 :(得分:3)

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

var app = new Application( );

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

关于 var :它让你的工作更轻松cuz C#决定选择和选择哪种类型。 如果您有兴趣,可以阅读动态 var 样式

请记住,在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);