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

我已经使用C#代码dynamic地生成了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) 

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

以下是安装指南: 在Windows Azure上安装第三方软件您有三个选项:启动任务,RDP或VMangular色。 我相信虚拟机angular色是build议的方式。

也许下一次你想从服务器应用程序创buildexcel文件的时候使用openXML。 或者花一些钱来支持预先打开的XML文件。

您可能会在服务器上安装Office,从而遇到许可问题,顺便说一句,我不是这里的专家。 任何人都在关心评论?

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

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

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

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