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

C# 尝试使用c生成excel文件时未注册获取错误类#,c#,excel,azure,C#,Excel,Azure,我使用c#代码动态生成了excel文件,我参考了Microsoft.Office.Interop.excel 在本地机器上一切正常 但当我在windowsazure上部署我的应用程序时,我在尝试生成excel文件并保存它时遇到了以下错误 Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error:

我使用c#代码动态生成了excel文件,我参考了Microsoft.Office.Interop.excel

在本地机器上一切正常

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

以下是安装指南: 您有三个选项:启动任务、RDP或VM角色。我认为VM角色是建议的方式

下次您想从服务器应用程序生成excel文件时,可以使用openXML。或者支持预openXML文件


在服务器上安装office可能会遇到许可问题,顺便说一句,我不是这里的专家。还有人想发表评论吗?

我怀疑您可能需要在azure实例上安装office(顺便说一下,这是因为excel是一个clinet应用程序……等等)

以下是安装指南: 您有三个选项:启动任务、RDP或VM角色。我认为VM角色是建议的方式

下次您想从服务器应用程序生成excel文件时,可以使用openXML。或者支持预openXML文件


在服务器上安装office可能会遇到许可问题,顺便说一句,我不是这里的专家。还有人愿意发表评论吗?

一个月前,我面临着同样的问题,通过在代码中创建ExcelWriter类解决了这个问题

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

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


一个月前,我面临同样的问题,通过在代码中创建ExcelWriter类解决了这个问题

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

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


你的azure实例上有excel吗?你的azure实例上有excel吗?我没有azure方面的经验,但他不需要在他的应用程序中部署Microsoft.Office.Interop.excel.dll吗?所以他们不需要安装office套件。@Sascha你确定吗?我认为如果没有这个应用程序,interop dll就没有多大用处。@Nathan Cooper我不确定,但在搜索完MSDN后,我发现你是对的(注意David的问题(接近结尾)和E.Crowford(目前是最后一篇文章)的专用答案)。祝你度过愉快的一天。我没有azure方面的经验,但他不需要在他的应用程序中部署Microsoft.Office.Interop.Excel.dll吗?所以他们不需要安装office套件。@Sascha你确定吗?我认为如果没有这个应用程序,interop dll就没有多大用处。@Nathan Cooper我不确定,但在搜索完MSDN后,我发现你是对的(注意David的问题(接近结尾)和E.Crowford(目前是最后一篇文章)的专用答案)。祝你今天愉快。@SulabhAgarwal。是的,我同意(尽管我现在会基于openxml)。然而,“重写你的代码”(谁知道OPs代码是否像你的一样模块化)可能是解决部署问题的一个令人生畏的答案。@SulabhAgarwal。是的,我同意(尽管我现在会基于openxml)。然而,“重写您的代码”(谁知道OPs代码是否像您的代码一样模块化)可能是解决部署问题的一个令人生畏的答案。