C#打开Excel:来自HRESULT的异常:0x800A03EC

时间:2016-03-18 11:27:59

标签: c# excel

在我的应用程序中,我需要打开一个现有的Excel文件来写入/重写行中的一些数据。

使用VS Express 2015制作Windows窗体应用程序。

当我运行应用程序并单击应该打开的按钮,写入并关闭Excel时,我得到了这个:

  

未处理的类型异常   发生'System.Runtime.InteropServices.COMException'   WindowsFormsApplication2.exe附加信息:异常来自   HRESULT:0x800A03EC

它指向代码中应该打开Excel文件的行。

 // Open EXCEL
       Excel.Application EXCEL = new Excel.Application();
       string path = "D:\\profily.xls";
        Excel.Workbook Wbook = EXCEL.Workbooks.Open(path , 0, false, 2, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false); // THERE IS PROBLEM
      Excel.Worksheet Sheet;

2 个答案:

答案 0 :(得分:0)

最可能的原因是您尝试将过多数据写入xls文件。对于单个单元格(source)来说,数据是否太多,或者整个文件(source)的数据太多,我不知道。

如果您更改为读/写较新的xlsx文件格式,则应避免出现这些问题。

答案 1 :(得分:-1)

重命名您的文件名 D:\ profily.xlsx

这两个文件扩展名之间的主要区别在于,XLS是在2007之前的Excel版本上创建的,而XLSX是在Excel 2007及更高版本上创建的。它们在信息存储方式的基础上也有所不同。 XLS是二进制格式,而XLSX是Open XML格式。