以下所有Excel错误的解决方案,同样适用于Word、PowerPoint等Office产品。
以下解决方案中,如果出现"安装Excel组件",是适用于遇到Excel错误的。如果是Word错误,则安装Word组件,而不是Excel组件,PowerPoint亦是如此,依次类推。
当然,如果你足够任性,你可以选择安装整个Office套件,不会有人说你什么的。
错误:
1.检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。
Windows Server 2000 或 Windows XP:
解决方案:
1、在服务器上安装Office的Excel组件.
2、在"开始"->"运行"(或Win+R键打开"运行")中输入dcomcnfg.exe 启动"组件服务"
3、依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"
4:在"DCOM配置"中找到"Microsoft Excel Application",在它上面点击右键,然后点击"属性",弹出属性对话框
5、点击"标识"标签,选择"交互式用户"
6、点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加
一个"ASP.NET"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.
7、依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"ASP.NET"用户,然后赋予"本地访问"权限
8、如果还是不行,再按照以上步骤添加一个IUSR或IUSR_计算机名的账户权限
这样,我们便配置好了相应的Excel的DCOM权限.
Windows Server 2003:
解决方案:
1、在服务器上安装Office的Excel组件.
2、在"开始"->"运行"(或Win+R键打开"运行")中输入dcomcnfg.exe 启动"组件服务"
3、依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"
4:在"DCOM配置"中找到"Microsoft Excel Application",在它上面点击右键,然后点击"属性",弹出属性对话框
5、点击"标识"标签,选择"交互式用户"
6、点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加
一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.
7、依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限
8、如果还是不行,再按照以上步骤添加一个IUSR或IUSR_计算机名的账户权限
这样,我们便配置好了相应的Excel的DCOM权限.
Windows Server 2008 或 Windows Server 2008 R2 、 Windows Server 2012 、Windows Server 2012 R2:
解决方案:
x64:
建目录:C:\Windows\SysWOW64\config\systemprofile\Desktop
x86:
建目录:C:\Windows\System32\config\systemprofile\Desktop
PS:没有在Windows Server 2012以上的服务器操作系统测试过,不过我猜测这条解决方案应该同样适用。
所有服务器操作系统通用的解决方案:
在web.config中使用身份模拟验证。
在<system.web>节中加入 <identity impersonate="true" userName="你的用户名" password="密码"/>
<system.web> <identity impersonate="true" userName="你的用户名" password="密码"/> </system.web>
PS:这种通用的解决方案,存在风险,不建议在生产环境中使用。