asp.net操作Excel拒絕訪問的解決

來源:互聯網
上載者:User
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等使用者的訪問、運行和配置許可權。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.