惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
Engineering at Meta
Engineering at Meta
Last Week in AI
Last Week in AI
V
Visual Studio Blog
Stack Overflow Blog
Stack Overflow Blog
A
About on SuperTechFans
博客园 - 司徒正美
D
DataBreaches.Net
有赞技术团队
有赞技术团队
T
The Blog of Author Tim Ferriss
MyScale Blog
MyScale Blog
I
InfoQ
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
月光博客
月光博客
Google DeepMind News
Google DeepMind News
Recent Announcements
Recent Announcements
小众软件
小众软件
G
Google Developers Blog
博客园 - 【当耐特】
U
Unit 42
美团技术团队
B
Blog
D
Docker
Blog — PlanetScale
Blog — PlanetScale

博客园 - 大白鲨

"Maximum length exceeded"错误的解决办法 - 大白鲨 javascript的数组使用方法 - 大白鲨 - 博客园 利用javascript判断浏览器是否已经安装ActiveX控件和是否禁止运行ActiveX控件 IIS错误Server Application Error(http 500 错误)解决办法 SQL Server的SQL技巧 ASP.NET 2.0 实现多文件上传 网络MSDTC配置方法 visual studio 2005包加载失败的解决办法 Office Excel 2003找不到安装文件sku011.cab的解决办法 delphi连接DCOM的安全配置 Atlas中对DataTable操作的脚本 去掉asp.net2.0的树控件刷新功能 通过Web Services上传和下载图片文件 IIS 5.0错误解决集锦 访问IIS时返回的状态代码解释参考 使用UDPClient 编写聊天程序 Windows安全配置技术 为IIS配置安全的发布方法 SQL Server中各个系统表的作用
asp.net操作Excel拒绝访问的解决
大白鲨 · 2007-12-26 · via 博客园 - 大白鲨

TlbImp.exe在C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin  
      我要在ASP.net中操作EXCEL,具体作法如下:  
      tlbimp   excel.exe   生成excel.dll并把excel.dll拷到wwwroot\bin下,给了IIS所在目录的强执行权限。且excel.dll能写入。  
    部分代码如下:  
    Excel.ApplicationClass   test=new   Excel.ApplicationClass();  
  test.Visible=true;  
  Excel.Workbooks   wbs=test.Workbooks;  
  Excel.Workbook   wb=wbs.Add("a.xls");  
  Excel.Sheets   ses=wb.Worksheets;  
  Excel.Worksheet   se=(Excel.Worksheet)ses.get_Item("sheet3");  
  Excel.Range   ra1=se.get_Range("B2","B2");  
  string   myvalue=ra1.Value2;  
  运行时出现如下错误:  
  拒绝访问。    
  说明:   执行当前   Web   请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。    
   
  异常详细信息:   System.UnauthorizedAccessException:   拒绝访问。    
   
  未授权此   ASP.NET   进程访问所请求的资源。出于安全原因,默认的   ASP.NET   进程标识为“{machinename}\ASPNET”,它只具有有限的特权。请考虑授予该   ASP.NET   进程标识访问此资源的权限。    
   
  若要授予   ASP.NET   对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”以添加“{machinename}\ASPNET”用户。突出显示此   ASP.NET   帐户,在“允许”列中选中“写”框。  
1.找到对应的文件夹,在里面添加上asp/net这个用户.
2.资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡,给你的wwwroot目录的ASP。NET用户授予写权限。
3.增加aspnet用户读写权限,或编辑WINNT\Microsoft.NET\Framework\v1.0.3705\CONFIG下的machine.config文件,将processModel节中的username的值设为SYSTEM
4.把aspnet_wp帐号设置对excel.dll有读写权限。

5.解决方法:
  作Excel的时候,可能会发生Excel进程被锁定,无法退出,解决方法是在保存完并关闭myBook(工作簿)后,别关闭Excel进程(myApp.Quit();)。这样的结果是服务器上始终有一个Excel的进程。可能会出现asp_net用户操作Excel的权限不够,配置Dcom。运行Dcomcnfg.exe,找到Excel应用程序,配置其属性,身份验证级别选"无",身份标识选"交互式用户",安全性页面,启动和访问均给everyone。注意:查看当前进程中是否有Winword进程存在,如果有且不能被结束,那么重启动计算机。再次运行你的代码即OK。这样以后就不会出现权限不够的情况了。
6.若要授予 ASP.NET 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击  “添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。设置权限的方法是在Windows的运行框中输入dcomcnfg,打开Com管理。在EXCEL应用程序的安全中,分别添加ASPNET、IUSER、IWAM等用户的访问、运行和配置权限。

posted on 2007-12-26 09:49  大白鲨  阅读(3736)  评论()    收藏  举报