2011-05-11 135 views
4

我創建一個excel文件asp.net應用。我在IIS7上託管此網站。錯誤而保存工作簿信息:System.Runtime.InteropServices.COMException:從HRESULT異常:0x800A03EC

當我從服務器運行它時,它在保存工作簿時發生錯誤。

我的代碼

Workbook.SaveAs(Server.MapPath("Folder") + "\\" + filename + ".xls" 
, Excel.XlFileFormat.xlHtml, objOpt, objOpt, false, false 
,Excel.XlSaveAsAccessMode.xlShared, false, false, objOpt, objOpt); 

我一直在試圖解決這個問題了一個星期。希望我會找到一些幫助這裏

這是我的錯誤

System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x800A03EC 

我使用的Office 2000,IIS7。我已經設置了所有授權。 任何建議,非常感謝。

+0

Web應用程序是否有權限讀/寫您將文件保存到的位置? – 2011-05-11 02:37:31

+0

是的..它有權限。 。 :( – ARB 2011-05-11 03:37:00

+0

來自Google:機器語言環境是否設置爲英語(1033)? – 2011-05-11 04:40:31

回答

0

打開工作簿時,是否將'Read-Only'屬性設置爲'true'?

請參閱下面就如何打開工作簿寫訪問:

Microsoft.Office.Interop.Excel.Application xlApp = null; 
Microsoft.Office.Interop.Excel.Workbook xlWorkBook = null; 

xlApp = new Excel.ApplicationClass(); 
xlWorkBook = xlApp.Workbooks.Open(txtFilePath.Text, 0, false, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); 

爲「xlApp.Workbooks.Open」的方法表示該工作簿將不能只讀的第三個參數的值「假」 。

這只是一個瘋狂的猜測,因爲您尚未共享任何關於如何打開工作簿的代碼。希望能幫助到你。

2

Interop is not supported in sever-scenarios (like IIS) by MS

有很多選擇閱讀/編輯/製作的Excel文件,而不互操作/在服務器上安裝的Excel:

MS提供免費的OpenXML SDK 2.0版 - 看到http://msdn.microsoft.com/en-us/library/bb448854%28office.14%29.aspx(XLSX只)

這可以讀取+寫入MS Office文件(包括Excel)。

另一種自由選擇看http://www.codeproject.com/KB/office/OpenXML.aspx(XLSX只)

如果您需要更多像處理舊的Excel版本(如XLS,不僅XLSX),渲染,創建PDF,公式等,則有不同的免費和商業像ClosedXML(免費,僅XLSX)庫,EPPlus(免費,XLSX只),Aspose.CellsSpreadsheetGearLibXLFlexcel

相關問題