C#生成Excel出现8000401a的错误的另一种解决办法。

网上能搜到的解决办法,常见的就是以下3种,比如参考这个博客
https://www.cnblogs.com/gavindou/archive/2012/08/29/2661757.html
1,增加虚拟权限:

在web.config里面增加

的键值;要求administrator具有管理员权限,这种方案使用后确实可行,可是不利于部署,因为有经验的人都知道把一个最高权限的服务器帐号密码公开显示在配置文件上有什么后果。

2,增加Com组件的交互式访问权限:

这也是网上搜索率最高的一种方式,运行“DCOMCNFG”,找到Microsoft Word 97-2003 、 Microsoft Excel 应用程序 、Microsoft PowerPoit 应用程序 文档 这些组件的交互式访问权限,详情可以参见:http://support.microsoft.com/kb/288366

3,增加Com组件特定用户的访问权限。

建立一个所需的帐号(例如test),权限为Power User或者User;

用此帐号运行一次word或者excel(确保有访问权限);运行DCOMCNFG,在Dcom组件里面找到Microsoft Excel 应用程序或者Microsoft Word 文档(和前面一样)-属性-标识里面选择“特定用户”,然后输入前面建立的帐号和密码就可以了

在有的机器上测试还需要在前面的安全标签里面添加这个账号的启用和访问权限.当然直接用自己登陆的帐好也是可行的


我这里不知道是修改什么导致的问题,使用第1和第2种还是会随机出现8000401a的错误,第3种方法比较稳定,我把Excel的标识选择了administrator账号,就再也不出现了,只是如果远程桌面到服务器上,然后使用程序调用Excel也不会出现窗口了,直接打开Excel也会报错(但是不影响使用)。
我现在使用了另外一种办法,**同样运行DCOMCNFG,在Dcom组件里面找到Microsoft Excel 应用程序,点击属性,在常规里面把身份验证级改为“无”。彻底不要求验证身份了。
——20200319更新,经过3天的测试,身份验证改为“无”还是会随机出现8000401a的错误。最后我还是换回“把Excel的标识选择了administrator账号”这个解决方案了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值