【发布时间】:2014-11-20 14:13:10
【问题描述】:
我在本地机器上使用 microsoft office interop excel 开发了一个 asp.net 应用程序,一切正常,生成了一个 excel 文件。
当我在我的服务器上部署应用程序并运行它时,我收到以下异常:
Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046}
failed due to the following error: 80040154 Class not registered
(Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
我在论坛上做了一些研究,我知道这可能是因为服务器上缺少 excel,但是我无法找到合适的解决方案,因为我知道在服务器上安装 excel 是不可能的。并且还知道我想将互操作作为我的库。
有人有解决办法吗?
【问题讨论】:
-
Office 互操作要求将 office 安装在运行代码的机器上,没有它您的代码将无法运行。
-
另外,取决于服务器操作系统,可能需要跳过很多环节才能让 Excel 在调用时真正正确启动。 Windows 2012 被特别关闭,我们只能让它以服务用户身份登录到盒子中工作。这不好,导致我们使用另一种解决方案来处理 Excel 文件。