导出Excel出现“异常来自 HRESULT:0x800A03EC”错误的解决方法(已验证)
好不容易找到解决了导出数据到Excel出现“异常来自 HRESULT:0x800A03EC”的错误。
从google上搜索解决方案,网上的解决方案基本上都是说开始行的下标值写成了0导致的“excel.Cells[0, 1] = "第1行第1列";”,改为大于0就能解决,等这些都是没有效果。插入断点,调试程序,又出现“不能单步执行”的错误。 后来又仔细看了这个异常,发现异常是从
“excel.ActiveWorkbook.SaveAs(FilePath + filename, Excel.XlFileFormat.xlExcel9795, null, null, false, false, Excel.XlSaveAsAccessMode.xlNoChange, null, null, null, null, null);”这个语句跳出来的,如果我把写入数据行的小标从0开始,异常会从那个写入行时跳出来。发现问题可能是在这个语句的参数上,于是随便把语句改为了“excel.ActiveWorkbook.SaveAs(FilePath + filename, Excel.XlFileFormat.xlExcel7, null, null, false, false, Excel.XlSaveAsAccessMode.xlNoChange, null, null, null, null, null);”发现解决了问题。
这个问题可能是我的Excel的版本不对吧(我的excel版本为2007),但使用的是2003的库,其实把Excel.XlFileFormat.xlExcel7改为“xlWorkbookNormal”最好。
注:FilePath + filename:我使用的是filename.xls,使用filename.xlsx会出现问题。