2012-01-16 114 views
0

在Windows窗體應用程序中,我將一些數據保存到Excel文件中。 到現在爲止,我使用Excel 2003並將其另存爲xls文件。與此代碼:Excel 2007升級錯誤

exportFile.SaveAs(strPath, Excel.XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlShared, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); 

我已經升級到Excel 2007中,現在我想保存數據,XLSX,所以我已經改變了同一行:

exportFile.SaveAs(strPath, Microsoft.Office.Interop.Excel.XlFileFormat.xlOpenXMLWorkbook, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlShared, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); 

但現在,我得到該行的異常,「異常來自HRESULT:0x800A03EC」 你知道我在做什麼錯嗎?

謝謝!

+0

您是否從Excel 2007中引用了新的互操作程序集? – gsharp 2012-01-16 09:24:31

+0

是的,我已經刪除了舊的2003年參考並添加了2007 – maephisto 2012-01-16 09:28:32

+1

什麼是'XlSaveAsAccessMode.xlShared'?如果您使用「Type.Missing」或「xlNoChange」,會發生什麼情況? – 2012-01-16 09:57:46

回答

0

我試過了@david heffernan的解決方案並且工作。 XlSaveAsAccessMode.xlNoChange訣竅