我使用 C# 在 excel 中制作宏,但在代码的这一行中
oExcel = new Excel.Application()
我有这个错误
使用 CLSID 检索组件的 COM 类工厂 {00024500-0000-0000-C000-000000000046} 由于以下原因而失败 错误:80080005服务器执行失败(来自 HRESULT 的异常: 0x80080005 (CO_E_SERVER_EXEC_FAILURE))
我使用 IIS 7、Visual studio2013(使用 asp.net) 和 Windows Server 2008
我尝试这种方式,但对我不起作用:运行>组件服务>计算机>我的计算机>DCOM 配置> Microsoft Excel 应用程序>右键单击>属性>安全选项卡>让每个人都可以访问完全控制
是关于窗户的权限吗?
来自Microsoft的支持页面"Office 服务器端自动化注意事项":
Microsoft 目前不建议也不支持从任何无人参与、非交互式客户端应用程序或组件(包括 ASP、ASP.NET、DCOM 和 NT 服务)自动化Microsoft Office 应用程序,因为在此环境中运行 Office 时 Office 可能会表现出不稳定的行为和/或死锁。
上面的文章还特别列出了您遇到的错误,这些错误是尝试在服务器端应用程序中使用自动化时可能发生的错误之一。
Excel 自动化根本不应该在 Web 应用程序中使用。目前的建议是改用 OpenXML SDK。