c# – 保存工作簿时出错:System.Runtime.InteropServices.COMException:HRESULT异常:0x800A03EC

我正在使用我的asp.net应用程序创建一个excel文件.我在IIS7上托管这个网站.

当我从服务器运行它时,它在保存工作簿时出错.

我的代码

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.我已经设置了所有授权.
任何建议都非常感谢.

最佳答案
Interop is not supported in sever-scenarios (like IIS) by MS.

如果没有Interop /在服务器上安装Excel,有许多选项可以读取/编辑/创建Excel文件:

MS提供免费的OpenXML SDK V 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.Cells,SpreadsheetGear,LibXLFlexcel

点赞