在 ASP.net MVC6 网站上使用 Office Interop

Use Office Interop on ASP.net MVC6 website

我想从我的 ASP.net MVC 6 网站生成 word 文档。我已经实现了几种在 POC 中生成文档的方法:DocX、NetOffice、OpenXml、COM Interop 对象。我被它诱惑了

我制作了一个控制台应用程序进行测试并且它有效。

但是,对于 ASP.net MVC6,我们无法引用控制台应用程序或 COM 程序集。 我们需要创建 "Console App (Package)".

如何将 COM 程序集添加到我的 ASP.net MVC 6 网站?

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

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

您可以在 Considerations for server-side Automation of Office 文章中阅读更多相关信息。

考虑使用专为服务器端执行而设计的第三方组件,或者如果您处理开放 XML 文档,您可以使用开放 XML SDK,请参阅 Welcome to the Open XML SDK 2.5 for Office 了解更多信息信息。