asp.net中使用excel类导出Excel文件,并导出到web客户端中遇到的问题
asp.net中使用excel类导出Excel文件,并导出到web客户端中遇到错误:
检索Com类工厂中CLSID为{000245-0000-0000-C000-000000000046}的组件失败,原因是出现以下错误:80070005 拒绝访问。
解决方法:
1、在<system.web>下写以下代码:<identity impersonate="true" userName="计算机用户名" password="用户密码"/>
【ps:其实去掉本步骤也可以进行,但是若舍去,在我的win 2008 r2远程服务器测试中,生成到本地服务器上一切正常,但导出到客户端后是乱码,所以我就写上了。】
2、打开组件服务:
因为Excel的dcom是32位,所以不同系统打开方法不同:
通用(32位、64位系统):运行中输入"comexp.msc -32"打开。
仅32位系统:通过管理工具-》组件服务。
打开组件服务后,组件服务-》计算机-》我的电脑-》DCOM配置 中找到Microsoft Excel Application,右键属性,
(1)安全选项卡:都配置为自定义,且均添加用户Everyone,勾选所有权限。
(2)标识选项卡:选中“交互式用户”。
点击确定,完成。