保存工作簿时出错:System.Runtime.InteropServices.COMException:来自 HRESULT 的异常:0x800A03EC

发布于 2024-11-06 07:56:01 字数 554 浏览 0 评论 0 原文

我正在使用我的 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 时遇到的错误。我已经设置了所有权限。 任何建议都将受到高度赞赏。

I am creating an excel file with my asp.net application. I am hosting this site on IIS7.

When i run it from server, it is giving error while saving the workbook.

my code

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

I have been trying to solve this for a week. hope I ll find some help here

This is my error

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

I am using Office 2000,IIS7. I have set all the authorizations.
Any suggestions are highly appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情绪 2024-11-13 07:56:02

在服务器场景中不支持互操作(例如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.

与他有关 2024-11-13 07:56:02

打开工作簿时是否将“只读”属性设置为“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”方法的第三个参数的值“false”表示该工作簿不是只读的。

这只是一个大胆的猜测,因为您尚未共享任何有关如何打开工作簿的代码。希望有帮助。

Have you set 'Read-Only' property to 'true' when opening the workbook ?

Refer following on how to open a workbook with write access :

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);

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文