保存工作簿时出错: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 时遇到的错误。我已经设置了所有权限。 任何建议都将受到高度赞赏。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在服务器场景中不支持互操作(例如IIS)由 MS。
有许多选项可以读取/编辑/创建 Excel 文件,而无需在服务器上进行 Interop/安装 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 ,<一href="http://www.spreadsheetgear.com/" rel="nofollow">SpreadsheetGear,LibXL< /a> 和 Flexcel 等。
Interop is not supported in sever-scenarios (like IIS) by MS.
There are many options to read/edit/create Excel files without Interop/installing Excel on the server:
MS provides the free OpenXML SDK V 2.0 - see http://msdn.microsoft.com/en-us/library/bb448854%28office.14%29.aspx (XLSX only)
This can read+write MS Office files (including Excel).
Another free option see http://www.codeproject.com/KB/office/OpenXML.aspx (XLSX only)
IF you need more like handling older Excel versions (like XLS, not only XLSX), rendering, creating PDFs, formulas etc. then there are different free and commercial libraries like ClosedXML (free, XLSX only), EPPlus (free, XLSX only), Aspose.Cells, SpreadsheetGear, LibXL and Flexcel etc.
打开工作簿时是否将“只读”属性设置为“true”?
请参阅以下内容,了解如何打开具有写入访问权限的工作簿:
“xlApp.Workbooks.Open”方法的第三个参数的值“false”表示该工作簿不是只读的。
这只是一个大胆的猜测,因为您尚未共享任何有关如何打开工作簿的代码。希望有帮助。
Have you set 'Read-Only' property to 'true' when opening the workbook ?
Refer following on how to open a workbook with write access :
A value 'false' for 3rd parameter of 'xlApp.Workbooks.Open' method denotes that the workbook will not be read-only.
This is just a wild guess, since you have not shared any code about how you open a workbook. Hope it helps.