22

我尝试按照如何在 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.ApplicationClass 类型定义构造函数。

我错过了什么?

4

3 回答 3

39

尝试这个:

Excel._Application xlApp = new Excel.Application();
于 2012-12-24T02:02:28.830 回答
3

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

var app = new Application( );

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

关于var:它使您的工作更轻松,因为 C# 决定选择和使用哪种类型。如果有兴趣,您可以阅读有关dynamicvar 样式的信息。

请记住,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);
于 2013-08-29T05:24:20.740 回答
3

使用以下命令打开它:

xlApp = CreateObject("Excel.Application");

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

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

于 2012-12-24T02:02:57.453 回答