在服務器端部署操作excel出錯的解決方法

部署一個使用Excel的.net系統時出現如下問題:

拒絕訪問。    
  說明:   執行當前Web請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以瞭解有關該錯誤以及代碼中導致錯誤的出處的詳細信息。         
  異常詳細信息:   System.ComponentModel.Win32Exception:   拒絕訪問。       [Win32Exception   (0x80004005):   拒絕訪問。]  
原因: 用戶沒有結束Excel進程的權限。解決方案:

1.在WEBCONFIG中使用
<identity impersonate="true" userName="服務器系統用戶名" password="服務器系統密碼"/>
放在<system.web>標籤中
2.或者將ASP.NET設爲管理員權限(IIS5及以下),或者NETWORKSERVICE(IIS6)

 

在服務器上發佈Web項目,結果一個開發中一直沒遇見的問題出現了:檢索 COM 類工廠中 CLSID 爲 {00024500-0000-0000-C000-000000000046} 的組件時失敗,原因是出現以下錯誤: 80070005。跟蹤了一下,結果是將記錄導出爲Excel表時Excel的COM組件出錯,但在VS2005裏面卻沒有任何問題,查了下資料,問題解決。

 

具體解決方法如下:

1:在服務器上安裝office的Excel軟件.

2:在"開始"->"運行"中輸入dcomcnfg.exe啓動"組件服務"

3:依次雙擊"組件服務"->"計算機"->"我的電腦"->"DCOM配置"

4:在"DCOM配置"中找到"Microsoft Excel 應用程序",在它上面點擊右鍵,然後點擊"屬性",彈出"Microsoft Excel 應用程序屬性"對話框

5:點擊"標識"標籤,選擇"交互式用戶"

6:點擊"安全"標籤,在"啓動和激活權限"上點擊"自定義",然後點擊對應的"編輯"按鈕,在彈出的"安全性"對話框中填加一個"NETWORK SERVICE"用戶(注意要選擇本計算機名),並給它賦予"本地啓動"和"本地激活"權限.

7:依然是"安全"標籤,在"訪問權限"上點擊"自定義",然後點擊"編輯",在彈出的"安全性"對話框中也填加一個"NETWORK SERVICE"用戶,然後賦予"本地訪問"權限.

這樣,我們便配置好了相應的Excel的DCOM權限.

注意:這是在WIN2003上配置的,在2000,xp上,NETWORK SERVICE用戶改爲ASPNET用戶

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章