-1

我想知道是否有必要在服务器上安装 Microsoft Office 才能使用 Microsoft.Office.Interop.Excel 和 Microsoft.Office.Interop.Word ?

简而言之,Microsoft.Office.Interop.Excel 和 Microsoft.Office.Interop.Word 的依赖关系是什么。

我在网上搜索了很多并且有一些不同的反应,但是给出的方法都没有帮助我。

我注意到报表查看器中的 RDLC 报表可以在没有安装 MS Office 的情况下保存到 Excel、Word、PDF 等。

因此,使用相同的逻辑,有没有一种方法可以使用 Microsoft.Office.Interop 生成 Excel 和 Word 文件,而无需仅通过注册一些 dll 在服务器上安装 Microsoft Office?

我已经坚持了2个月。

任何帮助都会很棒。

4

1 回答 1

0

如果不在计算机上安装 Microsoft Office,就无法使用 Office 互操作程序集。互操作程序集用于将您的属性和方法调用编组到 COM 服务器(非托管世界)。

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

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

在Office 服务器端自动化的注意事项文章中阅读有关此内容的更多信息。

作为一种可能的解决方法,您可以考虑使用不需要在计算机上安装任何 Office的Open XML SDK 。或者只考虑为服务器端执行而设计的任何第三方组件。

于 2021-12-27T11:43:15.957 回答