在未安装MS Office的计算机上使用Office.Interop.Excel

时间:2015-04-01 08:59:10

标签: c# excel com office-interop

我有一个使用Microsoft.Office.Interop.Excel的应用程序,当我在没有任何版本的MS Office的机器上部署它时,我收到以下错误

enter image description here

我尝试按照此处的说明安装VSTOR,因此回答COM object with CLSID {00024500-0000-0000-C000-000000000046} is either not valid or not registered 但这并没有解决问题。

3 个答案:

答案 0 :(得分:3)

如果您只需要使用开放XML文档(* .xslx),则可以考虑使用Open XML SDK。有关详细信息,请参阅Welcome to the Open XML SDK 2.5 for Office

如果是二进制文件格式,则需要使用计算机上不需要安装Office / Excel的任何第三方组件。

特别注意以下事实:

Microsoft目前不建议也不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office在此环境中运行Office时,可能会出现不稳定的行为和/或死锁。

如果要构建在服务器端上下文中运行的解决方案,则应尝试使用已为安全无人值守执行的组件。或者,您应该尝试找到允许至少部分代码在客户端运行的替代方法。如果从服务器端解决方案使用Office应用程序,则应用程序将缺少许多成功运行的必要功能。此外,您将承担整体解决方案稳定性的风险。

Considerations for server-side Automation of Office文章中详细了解相关内容。

答案 1 :(得分:2)

如果未安装MS Office,则无法使用Microsoft Interop库。您可能希望查看其他选项以阅读Excel或Word文件。您可以使用许多免费和(付费)C#库,例如:

https://exceldatareader.codeplex.com/

https://github.com/ExcelDataReader/ExcelDataReader

答案 2 :(得分:0)

您需要下载并安装Microsoft Office {year}:主互操作程序集 - 它是免费的。