当前位置:编程学习 > C#/ASP.NET >>

服务器端导出Excel文件,出现错误,检索 COM 类工厂中 CLSID 为的组件失败。求大神解决,遇见过这个实际错误的!!

检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。 

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.UnauthorizedAccessException: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。 

ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。 

要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。

源错误: 
这就是全部错误信息,我引用的office excel程序集 11.0版本
手写的代码导出功能 服务器 Excel ASP.NET 类 --------------------编程问答-------------------- 这个问题在之前的项目上遇到过几次,我记得是要找到com组件库,在你的组件上右键,更改权限,百度一下,帮助很多,但是有一个问题要注意一下,在机器重启或者项目重启时,是有可能权限又变回去的,然后接着报同样的错误。。。 --------------------编程问答--------------------
引用 1 楼 crazyleo814 的回复:
这个问题在之前的项目上遇到过几次,我记得是要找到com组件库,在你的组件上右键,更改权限,百度一下,帮助很多,但是有一个问题要注意一下,在机器重启或者项目重启时,是有可能权限又变回去的,然后接着报同样的错误。。。


+1  其中好像是选择个 什么  交互式用户 吧、 --------------------编程问答-------------------- 参考http://hi.baidu.com/ilovehaley/item/8bbd4e6ab4865f37ad3e8346
建议不要用这种方法,这只适合服务器,而且安全也是个问题,
你可以用第三方插件
--------------------编程问答-------------------- 现在是服务器安装好Office之后,确在DCOM组件里找不到Excel应用程序,这是什么原因呢?各位高手能告诉一下吗? --------------------编程问答-------------------- .NET实现将Excel中的数据导入数据库
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,