在天蓝色上检索具有CLSID {00024500-0000-0000-C000-000000000046}的组件的COM类工厂

时间:2012-12-13 09:19:54

标签: azure

我在Azure上传了一个应用程序。此应用程序允许用户将excel文件上载到底层数据库。

应用程序的上传excel部分使用Microsoft互操作性和代码的excel COM组件。

但是,上传excel文件时出现错误

  

使用CLSID检索组件的COM类工厂   {00024500-0000-0000-C000-000000000046}由于以下原因而失败   错误:80040154未注册类(HRESULT异常:   0x80040154(REGDB_E_CLASSNOTREG))。

在Windows Azure上托管应用程序时,我该怎么办才能解决此问题

2 个答案:

答案 0 :(得分:0)

这是因为您的Web角色/工作者角色/网站/虚拟机上未安装Excel。使代码工作的唯一方法是在Web角色/工作者角色/虚拟机上安装Excel,但这是您不应该做的事情(read the KB)。

考虑使用OpenXML处理Excel文件:http://nuget.org/packages?q=openxml

答案 1 :(得分:0)

你能检查一下这里提到的任何解决方案 - Retrieving the COM class factory for component failed是否有效?

最有可能你需要创建这个文件夹 - C:\ Windows \ SysWOW64 \ config \ systemprofile \ Desktop,事情应该可以正常工作。