前几天在一个使用.net编写的网站中做了一个导出excel的功能,在本机测试没有问题,上传到服务器上,却出现了一下错误:
检索 COM 类工厂中 CLSID 为 {00021A20-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80080005
在网上找了很多资料,最终确定是Excel组件的权限访问问题。
1:在服务器上安装office的Excel软件.
2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"
3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"
4:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框
5:点击"标识"标签,选择"交互式用户"
6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.
7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.
注:在XP系统中还要添"加机器名/ASPNET"用户的上述权限。
在window 2003 server中,如果还出现8000401a错误,在标示里面选择“下列用户”,填写登录计算机的并拥有对Excel本地操作权限的用户。或者在标示里面选择“启用用户”
以上方法是网友提供,后来还是不行,最后关键在于标示里面直接使用管理员,输入管理员账号和密码,确定后终于大功告成