導出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會出現問題。