对于当前代码:
String currentPath = Directory.GetCurrentDirectory();
OpenFileDialog op = new OpenFileDialog();
op.InitialDirectory = currentPath;
if (op.ShowDialog() == DialogResult.OK)
currentPath = op.FileName;
else
{
toolStripStatusLabel1.Text = "Failed to Load Workbook";
toolStripStatusLabel1.Visible = true;
}
Workbook wb = new Workbook(excel.Workbooks.Open(currentPath));
我收到错误:
System.Runtime.InteropServices.COMException 未处理
消息=由于以下错误,检索 CLSID 为 {00020819-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败:80040154 类未注册(HRESULT 异常:0x80040154 (REGDB_E_CLASSNOTREG))。
来源=mscorlib
错误代码=-2147221164
我想要的只是一个预定义的工作簿来添加工作表
我想在您的代码中,Workbook 的全名是 Microsoft.Office.Interop.Excel.Workbook,而 excel 是 Microsoft.Office.Interop.Excel.Application 的实例。
如果是这种情况,您的代码将无法工作,因为 Workbook 是一个接口,而接口没有构造函数。您必须要求 Excel 应用程序为您创建工作簿,在您的情况下,您只需编写:
Workbook wb = excel.Workbooks.Open(currentPath);
类似地,如果你想创建一个新的空工作簿,你应该这样写:
Workbook wb = excel.Workbooks.Add(System.Reflection.Missing.Value);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)