【发布时间】:2025-11-24 08:20:05
【问题描述】:
在 C# Excel 互操作中,声明 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();时,它给了我错误Retrieving the COM class factory for component with CLSID {00020819-0000-0000-C000-000000000046}
但是当我使用Microsoft.Office.Interop.Excel.Workbook objExcelWbk = default(Excel.Workbook); 时,我的脚本运行良好。
每种方法的使用指南是什么?又有什么区别?
【问题讨论】:
-
new Excel.Workbook()实际上创建了一个Workbook类的实例。default(Excel.Workbook)返回null,因为这是引用类型的 默认 值。 -
@erdinger 如何创建一个不会抛出错误的工作簿对象引用未设置为对象的实例
标签: c# com-interop excel-interop