iis7导出数据到excel,本地调试无任何问题,发布到iis就是导不出,在服务器调试iis,报错:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败。。
网上搜寻了,找到方法:
1.在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"
2.依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"
3.在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框
4.点击"标识"标签,选择"交互式用户"
5.点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限
6.依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.
用上述方法再次导出excel,还是不行。。。
再次搜索,最后确定还需要设置应用程序池的标识,把此网站的AppPool的标识要设置为LocalSystem或者NetworkService,问题解决。
注:当我把标识设为LocalSystem时,需把远程桌面开启才能导出成功,把远程桌面关了还是导出失败,所以最后还是改成了NetworkService,我觉得是不是服务器运行的账户不是LocalSystem?。。