我正在使用用 C# 编写的 Windows 服务。通过这个 Windows 服务,我以编程方式自动化 Excel。
Excel.Application excel = Excel.Application();
此代码适用于所有版本的 Excel(2003、2007、2010、2013)。
最近我在我的机器上安装了Office 365。当我使用上面的调用自动化 Excel 时,突然出现以下异常:
由于以下错误,检索 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败:80080005 服务器执行失败(HRESULT 异常:0x80080005 (CO_E_SERVER_EXEC_FAILURE))。
谁能告诉我,通过 Windows 服务自动化 Office 365 Excel 时是否需要特别考虑?
Microsoft 目前不建议也不支持从任何无人值守、非交互式客户端应用程序或组件(包括 ASP、ASP.NET、DCOM 和 NT 服务)实现 Microsoft Office 应用程序的自动化,因为 Office 可能会表现出不稳定的行为和/或在此环境中运行 Office 时发生死锁。
如果您正在构建在服务器端上下文中运行的解决方案,则应尝试使用可安全执行无人值守执行的组件。或者,您应该尝试找到允许至少部分代码在客户端运行的替代方案。如果您使用服务器端解决方案中的 Office 应用程序,该应用程序将缺乏许多成功运行所需的功能。此外,您还将面临整体解决方案稳定性的风险。阅读有关此内容的更多信息服务器端办公自动化的注意事项文章。
您可以考虑使用 Open XML SDK,请参阅Exchange 中的 EWS 托管 API、EWS 和 Web 服务了解更多信息。或任何专为服务器端执行而设计的第三方组件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)