我在Azure上传了一个应用程序。此应用程序允许用户将excel文件上载到底层数据库。
应用程序的上传excel部分使用Microsoft互操作性和代码的excel COM组件。
但是,上传excel文件时出现错误
使用CLSID检索组件的COM类工厂 {00024500-0000-0000-C000-000000000046}由于以下原因而失败 错误:80040154未注册类(HRESULT异常: 0x80040154(REGDB_E_CLASSNOTREG))。
在Windows Azure上托管应用程序时,我该怎么办才能解决此问题
答案 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,事情应该可以正常工作。