您的位置:首页 > 编程语言 > ASP

Asp.net环境下调用Excel控件的权限问题

2006-02-15 12:30 369 查看
在网上查了一下,发现了几个不同的版本。主要为:

当出现“拒绝访问”或“服务器出现意外”问题时,进行如下处理:
你要将Microsoft   Excel   9.0   Object   Library引进.
如果你已经引进了,还需要这样设置一下
1。运行Dcomcnfg.exe
2。从列表中选择   microsoft   Excel   文档
3。点击属性
4。选择“安全性”
5。选定“使用自定义访问权限”和“使用自定义启动权限”
6。分别编辑权限,添加ASPNET,VS   Developers,Debugger   User
7.选择“身份标识”,在选定“交互式用户”   即可

 

 

操作Excel的时候,可能会发生Excel进程被锁定,无法退出,解决方法是在保存完并关闭myBook(工作簿)后,别关闭Excel进程(//myApp.Quit();)。这样的结果是服务器上始终有一个Excel的进程。可能会出现asp_net用户操作Excel的权限不够,配置Dcom。运行Dcomcnfg.exe,找到Excel应用程序,配置其属性,身份验证级别选"无",身份标识选"交互式用户",安全性页面,启动和访问均给everyone。注意:查看当前进程中是否有Winword进程存在,如果有且不能被结束,那么重启动计算机。再次运行你的代码即OK。这样以后  
就不会出现权限不够的情况了。

 

 

在命令行运行Dos命令:dcomcnfg
在[Application]项目下选择[Microsoft   Excel应用程序],点击[属性]按钮,在应用程序属性对话框
下选择第三项[Security],在三个单选钮上都选择[Use   custom   access   permission],分别点击下
面的[Edit]按钮,增加用户[Everyone](本级)和[ASPNET],并设置权限为[Allow   Access]

 

 

总结:

在实际调试过程中我发现只要在安全性页面,启动和访问均给ASPNET,“身份标识”选定“交互式用户”即可通过调试。

补充:

在windows2003操作系统下通过以上方法是无法解决问题的。具体解决方法如下:

在运行对话框内输入dcomcnfg,单击确定,弹出组件服务窗口。

在左侧树中依次选择“组件服务”——“计算机”——“我的电脑”——“DCOM配置”,并找到Microsoft Excel 文档:右键菜单——属性,弹出“Microsoft Excel 文档 属性”对话框。

选择安全选项卡,所有设置权限的地方,都选择自定义权限,并且单击编辑按钮,将NETWORK SERVICE组添加进来。

选择身份标识选项卡,设置为交互式用户。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息