ASP.NET访问Excel 失败的解决方法(错误号:80070005,8000401a)

用asp.net把值写入Excel在本地测试通过,然后提交服务器后老是写入不成功 并提示错误:
Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005.

在网络上查找了许多资料,原来是对于用户来说,对服务器上的文件的操作权限不够所引起的错误,要配置DCOM

具体配置方法如下:

1:在服务器上安装office的Excel软件.

2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"

3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"

4:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框

5:点击"标识"标签,选择"交互式用户"

6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.

7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.

好不容易这个问题解决了,接下来又出现8000401a错误!


如果是8000401a错误:

右键打开属性对话框,点击"标识"选项卡,

点"下列用户",把管理员的用户密码正确填写进去...

点击"安全"选项卡,

依次把"启动和激活权限","访问权限","配置权限",都选择为自定义,

然后依次点击它们的编辑,把NETWORK SERVICE添加进去,并加入本地的读写权限...

 

最后,我们还要给所在盘的安全设置修改权限,同样也是属性--安全--添加NETWORK SERVICE,给它修改权限。

这样,我们便配置好了相应的Excel的DCOM权限.

 

总结:

1。只要加NETWORK SERVICE的权限就可以了,不必加everyone;

2。如果选择“交互式用户”还不行,必须选择“下列用户”,然后填入管理员的用户名和密码;

3。还要设置盘符的“安全”选项卡,在X盘上右击-属性-安全,同样添加NETWORK SERVICE用户名,并给它修改的权限,这样才最后可以用。

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值