Excel工作簿输入时出现奇怪的错误

本文关键字:错误 工作簿 输入 Excel | 更新日期: 2023-09-27 18:36:25

对于当前代码:

 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

我想要的只是一个预定义的工作簿,用于将工作表添加到

Excel工作簿输入时出现奇怪的错误

我想在你的代码中,工作簿的全名是Microsoft.Office.Interop.Excel.Workbook,而excel是Microsoft.Office.Interop.Excel.Application的一个实例。

如果是这种情况,您的代码将无法工作,因为工作簿是一个接口,而接口没有构造函数。您必须要求 excel 应用程序为您创建工作簿,在您的情况下,您只需编写:

Workbook wb = excel.Workbooks.Open(currentPath); 

以类似的方式,如果要创建一个新的空工作簿,则应编写:

Workbook wb = excel.Workbooks.Add(System.Reflection.Missing.Value);
我不知道

你的错误,但我做了类似的事情:

 _app = new Excel.Application();
Excel.Workbook wb = _app.Workbooks.Open(currentPath);

右键单击您的解决方案并将"平台"更改为 x86重新生成您的解决方案...祝你好运!