检索 COM类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005
1.在服务器上安装office的Excel软件.
2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"
3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"
4:在"DCOM配置"中找到"Microsoft Excel应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框
5:点击"标识"标签,选择"交互式用户"
6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.
7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORKSERVICE"用户,然后赋予"本地访问"权限.
这样,我们便配置好了相应的Excel的DCOM权限.
注意:这是在WIN2003上配置的,在2000,xp上,是配置ASPNET用户
由于EXCEL是在服务器上打开的,所以应该写一个把导出数据保存在服务器上,然后再传递给客户端的方法,最后每次调用这个功能的时候再删除以前在服务器上所生成的所有Excel
注意:如果是在64位机上,在以上第2点到第4点中无法找到"Microsoft Excel",即输入comexp.msc -32找到"Microsoft Excel应用程序",
然后按照以上的第5点到第7点依次,需要依次添加用户"everyone","network server","network","iuser_电脑名","INTERACTIVE"5个用户.
其次,需要查看你服务器上放Excel文件夹,查看安全里面是否有这三个用户"everyone","network server","iis_iusrs",如果没有请添加,并给其赋“完全控制”权限。
再次,运行你的网站,如果还是出现此错误。这时,你进入IIS7.0在"身份验证"中把"ASP.NET 验证"改为"已启用"。