在C#Excel Interop中有什么新Excel.Workbook()和默认(Excel.Workbook)

时间:2016-06-17 17:46:23

标签: c# com-interop excel-interop

在C#Excel Interop中,声明new Excel.Workbook()default(Excel.Workbook)之间的区别是什么。

示例:

Microsoft.Office.Interop.Excel.Workbook objExcelWbk = new Excel.Workbook(); 
Microsoft.Office.Interop.Excel.Workbook objExcelWbk = default(Excel.Workbook);

当我使用Microsoft.Office.Interop.Excel.Workbook objExcelWbk = new Excel.Workbook();时,它给出了错误检索具有CLSID的组件的COM类工厂{00020819-0000-0000-C000-000000000046}

但是当我使用Microsoft.Office.Interop.Excel.Workbook objExcelWbk = default(Excel.Workbook);时,我的脚本运行正常。

每种方法的使用指南是什么?有什么区别?

2 个答案:

答案 0 :(得分:1)

您不能以这种方式创建工作簿。通常的方法是

var objExcelApp = new Excel.Application();
var objExcelWbk = objExcelApp.Workbooks.Add(); 

https://msdn.microsoft.com/en-us/library/ms173186

答案 1 :(得分:0)

您使用默认值显式实例化工作簿,而不是通过默认构造函数实例化excel工作簿。

default是一个关键字,文档可以在这里找到:

https://msdn.microsoft.com/en-us/library/xwth0h0d.aspx