標籤:
檢索 COM 類別工廠中 CLSID 為 {00024500-0000-0000-C000-000000000046}的組件時失敗,原因是出現以下錯誤: 80070005
基本上.net匯出excel檔案,都需要如此配置一下,不配置有的時候沒錯,而配置後基本應該不會出錯。
具體配置方法如下:
1:在伺服器上安裝office的Excel軟體.
2:在"開始"->"運行"中輸入dcomcnfg.exe啟動"元件服務"
3:依次雙擊"元件服務"->"電腦"->"我的電腦"->"DCOM配置"
4:在"DCOM配置"中找到"Microsoft Excel 應用程式",在它上面點擊右鍵,然後點擊"屬性",彈出"Microsoft Excel 應用程式屬性"對話方塊
5:點擊"標識"標籤,選擇"互動式使用者"
6:點擊"安全"標籤,在"啟動和啟用許可權"上點擊"自訂",然後點擊對應的"編輯"按鈕,在彈出的"安全性"對話方塊中填加一個"NETWORK SERVICE"使用者(注意要選擇本電腦名稱),並給它賦予"本地啟動"和"本地啟用"許可權.
7:依然是"安全"標籤,在"存取權限"上點擊"自訂",然後點擊"編輯",在彈出的"安全性"對話方塊中也填加一個"NETWORK SERVICE"使用者,然後賦予"本地訪問"許可權.
8.如果互動式使用者佈建後出現錯誤8000401a,可取消互動式使用者,指定為administratr,可暫時解決此問題。進一步的解決方式還有待探討。
9.採用第8點的設定後,開啟Excel可能會出現“無法使用對象引用或連結”,並且不能進行儲存格粘貼。原因不明,取消設定後即可消失。
另外說明:光按以上設定並不能完全保證不出問題,因為調用OFFICE的操作可能涉及其他的系統資源,很可能依然許可權不夠而導致問題,只是設定EXCEL應
用程式後,還是可能會報80070005的錯誤,最保險的是應該在dcomcnfg中選中我的電腦然後右鍵屬性->com安全,將裡面的存取權限,啟動和
啟用許可權全都編輯預設,在當中加上network service(iis
5.0的話,要加的是asp.net使用者),並如前面對networkservice設定上相同的許可權,這樣基本上能保證不會再出什麼問題。
以上為基本出路方法,但是我也遇到過應用以上方法還是報錯的情況,我的環境是windows2003 +
office2003+office2007,在測試伺服器上都可以匯出無任何問題!但是更新了正式環境就是報錯,許可權都設定了還是報錯,因為我的測試服
務器是預設office啟動的,所以我懷疑是office版本環境問題!於是我卸載了office2007,馬上測試ok了,但是重啟伺服器後就產生了
have not been Pre-compiled錯誤,匯出頁面都無法開啟了,於是我又重新安裝了office2007,頁面可以開啟了,但是匯出excel時又開始報錯!我又
把所有的許可權重新設定一遍,問題依舊!後來發現兩個伺服器預設開啟excel的程式不一樣,測試環境是預設office2003開啟,正式環境是
office2007開啟,於是我在正式環境重新註冊office2003,使其同樣也是預設office2003開啟程式,靠!問題終於解決了!!!
註冊方法 執行 開始----運行----輸入excel2003的安裝路徑,例如 "C:\Program Files\Microsoft
Office\OFFICE11\excel.exe" /regserver 注意/符號前面有一個空格,其中"C:\Program
Files\Microsoft Office\OFFICE11\excel.exe"
是excel2003的安裝程式的路徑,參數regserver表示註冊的意思!
運行後,會啟動Office 2003的安裝程式,進行修複,重新註冊。
excel2007為預設的啟動程式的方法類同,可以執行 開始----運行----"D:\Program Files\Microsoft Office\Office12\excel.exe" /regserver
綜上所述,再遇到Excel匯出、匯入問題時,先考慮許可權問題,再考慮office的版本環境!如此基本能夠解決這些問題了
參考於: http://zhidao.baidu.com/question/288267664.html
NET匯出Excel遇到的80070005錯誤的解決方案