2011-05-11 133 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

相关问题