当尝试使用c#生成excel文件时,获得错误类未注册

本文关键字:错误 注册 文件 excel 生成 | 更新日期: 2023-09-27 18:11:17

我使用c#代码动态生成excel文件,其中我引用Microsoft.Office.Interop.Excel

在本地机器上一切正常

但是当我在Windows Azure上部署我的应用程序时,当我尝试生成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)

当尝试使用c#生成excel文件时,获得错误类未注册

1个月前,我面临着同样的问题,并通过在我的代码中创建ExcelWriter类来解决。

您可以在代码中创建自己的excelwriter,而不是使用MS Excel dll生成Excel文件。

下面的链接可以解决你的问题(我猜)。

http://www.codeproject.com/Articles/33850/Generate-Excel-files-without-using-Microsoft-Excel

我怀疑你可能需要在azure实例上安装office(顺便说一下,这是不推荐的,因为excel是一个客户端应用程序…等等)。

下面是安装指南:在Windows Azure上安装第三方软件您有三个选项:启动任务、rdp - ping或VM角色。我认为虚拟机角色是建议的方式。

也许下次你想从服务器应用程序制作excel文件时使用openXML。或者花一些钱来支持pre-openXML文件。 在服务器上安装office可能会遇到许可问题,顺便说一句,我不是这方面的专家。还有人想发表评论吗?