好不容易花了半天终于解决了导出数据到Excel出现“异常来自 HRESULT:0x800A03EC”的错误。
一开始在google上搜索解决方案,网上的解决方案基本上都是说开始行的下标值写成了0导致的“excel.Cells[0, 1] = "第1行第1列";”,改为大于0就能解决。但我的程序都是从第4行开始写数据的,想可能不是这个问题导致的。插入断点,调试程序,又出现“不能单步执行”的错误。 后来又仔细看了这个异常,发现异常是从
“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)。