http://blog.eastmoney.com/fk/blog_120145559.html
問題描述:
ASP.NET操作Excel時出現
System.UnauthorizedAccessException: 檢索 COM 類工廠中 CLSID 爲 {00024500-0000-0000-C000-000000000046} 的組件時失敗,原因是出現以下錯誤: 80070005。
問題原因:
沒有爲Microsoft Excel Application添加用戶權限權限
解決方法:
開始->運行->dcomcnfg.exe
->組件服務->計算機->我的電腦->DCOM配置->Microsoft Excel Application->右鍵->屬性
->標籤->標識->選擇交互用戶
->安全->啓動和激活權限->自定義->編輯->添加NetWork Service->本地啓用+本地激活
->安全->訪問權限->自定義->編輯->添加NetWork Service->本地訪問
如果還有問題,需要在Web.conifg的<web.system>節點下添加或修改以下節點:
<identity impersonate="true" userName="administrator" password="123456"/>
===========================================================================================================
這個問題困擾了我很久,在網上找了很多資料都沒用,
最後找到解決方案:
運行dcomcnfg打開組件服務,
依次展開"組件服務"->"計算機"->"我的電腦"->"DCOM配置"
找到"Microsoft Excel應用程序"或"Microsoft Word應用程序",
右鍵打開屬性對話框,點擊"標識"選項卡,
點"下列用戶",把管理員的用戶密碼正確填寫進去...
點擊"安全"選項卡,
依次把"啓動和激活權限","訪問權限","配置權限",都選擇爲自定義,
然後依次點擊它們的編輯,把everyone添加進去,並加入所有的權限...
OK,解決此問題!
=============================================================================================================
要在交互式用戶帳戶下設置 Office 自動化服務器,請按照下列步驟操作:
1. | 以管理員身份登錄到計算機,並使用完整安裝來安裝(或重新安裝)Office。爲了實現系統的可靠性,建議您將 Office CD-ROM 中的內容複製到本地驅動器並從此位置安裝 Office。 |
2. | 啓動要自動運行的 Office 應用程序。這會強制該應用程序進行自我註冊。 |
3. | 運行該應用程序後,請按 Alt+F11 以加載 Microsoft Visual Basic for Applications (VBA) 編輯器。這會強制 VBA 進行初始化。 |
4. | 關閉應用程序,包括 VBA。 |
5. | 單擊開始,單擊運行,然後鍵入
DCOMCNFG。選擇要自動運行的應用程序。應用程序名稱如下所示:
Microsoft Access 97 - Microsoft Access 數據庫
單擊屬性打開此應用程序的屬性對話框。Microsoft Access 2000/2002 - Microsoft Access 應用程序 Microsoft Excel 97/2000/2002 - Microsoft Excel 應用程序 Microsoft Word 97 - Microsoft Word Basic Microsoft Word 2000/2002 - Microsoft Word 文檔 |
6. | 單擊安全選項卡。驗證使用默認的訪問權限和使用默認的啓動權限已選中。 |
7. | 單擊標識選項卡,然後選擇交互式用戶。 |
8. | 單擊確定,關閉屬性對話框並返回主應用程序列表對話框。 |
9. | 在 DCOM 配置對話框中,單擊默認安全性選項卡。 |
10. | 單擊訪問權限的編輯默認值。驗證訪問權限中是否列出下列用戶,如果沒有列出,則添加這些用戶:
SYSTEM
INTERACTIVE Everyone Administrators IUSR_<machinename>* IWAM_<machinename>* * 這些帳戶僅在計算機上安裝了 Internet Information Server (IIS) 的情況下才存在。 |
11. | 確保允許每個用戶訪問,然後單擊確定。 |
12. | 單擊啓動權限的編輯默認值。驗證啓動權限中是否列出下列用戶,如果沒有列出,則添加這些用戶:
SYSTEM
INTERACTIVE Everyone Administrators IUSR_<machinename>* IWAM_<machinename>* * 這些帳戶僅在計算機上安裝有 IIS 的情況下才存在。 |
13. | 確保允許每個用戶訪問,然後單擊確定。 |
14. | 單擊確定關閉 DCOMCNFG。 |