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

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

在这里输入图像描述

我尝试安装VSTOR,如此所示,因此使用CLSID {00024500-0000-0000-C000-000000000046}回答COM对象无效或未注册,但这不能解决问题。

如果您只需要使用开放的XML文档(* .xslx),则可以考虑使用Open XML SDK。 有关更多信息,请参阅欢迎使用Open XML SDK 2.5 for Office 。

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

要特别注意以下事实:

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

如果您正在构build一个在服务器端上下文中运行的解决scheme,则应该尝试使用已经安全的组件进行无人值守的执行。 或者,您应该尝试find允许至less部分代码运行在客户端的备选scheme。 如果您从服务器端解决scheme使用Office应用程序,则应用程序将缺less许多必要的function以成功运行。 此外,您将面临整体解决scheme稳定性的风险。

请阅读“服务器端Office自动化的注意事项”文章中的更多内容。

如果未安装MS Office,则无法使用Microsoft Interop库。 您可能想要查看其他选项来读取Excel或Word文件。 有许多免费的和(付费的)C#库可以用于这个目的,例如:

https://exceldatareader.codeplex.com/

https://github.com/ExcelDataReader/ExcelDataReader

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