1. 程式人生 > >關於導出Excel出現異常的解決辦法。:System.UnauthorizedAccessException: 檢索 COM 類工廠中 CLSID 為 {000209FF-0000-0000-C000-000000000046} 的組件時失敗

關於導出Excel出現異常的解決辦法。:System.UnauthorizedAccessException: 檢索 COM 類工廠中 CLSID 為 {000209FF-0000-0000-C000-000000000046} 的組件時失敗

size 本地 ESS spa 電腦 步驟 我的電腦 service 交互式

異常信息為:System.UnauthorizedAccessException: 檢索 COM 類工廠中 CLSID 為 {000209FF-0000-0000-C000-000000000046} 的組件時失敗

網上找了解決方法

1.在"開始"->"運行"中輸入dcomcnfg.exe啟動"組件服務"

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

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

4:點擊"標識"標簽,選擇"交互式用戶"

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

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

7.依然是“安全”標簽,在“配置權限”上選擇自定義,然後點擊”編輯“,在彈出的”安全性“對話框中也添加"NETWORK SERVICE"“IUSR”用戶,賦予完全控制盒讀取權限。

但是我在服務中沒有找到Microsoft Excel Application這個組件

原來是因為我的系統是64位的 但是offic組件提供的是32位的 要先添加進來才可以操作

原話為:

由於Dcomcnfg是一個32位和配置,在64系統下並不能被完全支持,因此需要對WIN2008 X64系統進行DCOM配置

所以問題出在IIS用戶對offic組件沒有相應的權限

解決問題整個流程如下

1.1運行:mmc -32。
1.2在菜單中選擇File(文件)->Add/Remove Snap(添加/刪除管理單元)。
添加Component Services(組件服務),然後在Component Services下找到Excel後再進行配置,就和32位系統一樣可以看到Microsoft Excel Appliction 組件了。
2.由於用戶沒有操作excel的權限,需要通過如下操作對 Microsoft Excel Appliction 進行授權。
2.1運行:dcomcnfg.exe。
2.2"組件服務"- >"計算機"- >"我的電腦"- >"DCOM配置"->找到word->屬性->"標識"標簽,選擇"交互式用戶" 。
2.3->安全"標簽"->在"啟動和激活權限"上點擊"自定義",然後點擊對應的"編輯"按鈕,在彈出的"安全性"對話框中填加 一個"IIS_USERS"用戶(註意要選擇本計算機名),並給它賦予"本地啟動"和"本地激活"權限。
2.4->"安全"標簽,在"訪問權限"上點擊"自定義",然後點擊"編輯",在彈出的"安全性"對話框中也填加一個" IIS_USERS"用戶,然後賦予"本地訪問"權限. 這樣,我們便配置好了相應的Excel的DCOM權限。
如果還不可以就重復2.3和2.4步驟 添加NETWORK SERVICE”用戶
就可以解決問題

關於導出Excel出現異常的解決辦法。:System.UnauthorizedAccessException: 檢索 COM 類工廠中 CLSID 為 {000209FF-0000-0000-C000-000000000046} 的組件時失敗