2012-03-14 45 views
0

我有一个asp.net web应用程序并部署在Web服务器上。在一个场景中,我有一个固定格式的Excel表单,它位于Web文件夹的服务器上。在运行时,我正在用interop.office.excel库的帮助下写入单元格。最初没有在服务器上安装excel,那么我们已经安装了excel,并且从组件服务中获得了COM组件的完整权限。但现在我们正在低于错误。如何解决这个问题?从asp.net web应用程序访问Interop.office.excel库

产物的检测 '{90110409-6000-11D3-8CFE-0150048383C9}',功能 'OfficeUserData',组件 '{4A31E933-6F67-11D2-AAA2-00A0C90F57B0}' 失败。资源'HKEY_CURRENT_USER \ Software \ ODBC \ ODBC.INI \ MS Access Database \'不存在。

产物的检测 '{90110409-6000-11D3-8CFE-0150048383C9}',功能 'ExcelUserData',组件 '{8ADD2C96-C8B7-11D1-9C67-0000F81F1B38}' 失败。资源 'HKE​​Y_CURRENT_USER \ Software \ Microsoft \ Office \ 11.0 \ Excel \ UserData'确实不存在 。

回答

4

Interop is not supported in sever-scenarios (like ASP.NET) by MS

有很多选择阅读/编辑/制作的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.Cells,SpreadsheetGear,LibXLFlexcel等。

相关问题