iis導(dǎo)出excel com組件條用錯(cuò)誤怎么辦
iis導(dǎo)出excel com組件條用錯(cuò)誤怎么辦
一、發(fā)布web項(xiàng)目的時(shí)候,訪問Excel文件出現(xiàn)以下錯(cuò)誤:檢索 COM 類工廠中 CLSID 為 {00024500-0000-0000-C000-000000000046} 的組件時(shí)失敗,原因是出現(xiàn)以下錯(cuò)誤: 80070005。跟蹤了一下,結(jié)果是將記錄導(dǎo)出為Excel表時(shí)Excel的COM組件出錯(cuò),但在VS2005里面卻沒有任何問題,因此得出結(jié)論,肯定是權(quán)限問題,查了下資料,問題解決。
具體解決方法如下:
1:在服務(wù)器上安裝office的Excel軟件.
2:在"開始"->"運(yùn)行"中輸入dcomcnfg.exe啟動(dòng)"組件服務(wù)"
3:依次雙擊"組件服務(wù)"->"計(jì)算機(jī)"->"我的電腦"->"DCOM配置"
4:在"DCOM配置"中找到"Microsoft Excel 應(yīng)用程序",在它上面點(diǎn)擊右鍵,然后點(diǎn)擊"屬性",彈出"Microsoft Excel 應(yīng)
用程序?qū)傩?quot;對(duì)話框
5:點(diǎn)擊"標(biāo)識(shí)"標(biāo)簽,選擇"交互式用戶"
6:點(diǎn)擊"安全"標(biāo)簽,在"啟動(dòng)和激活權(quán)限"上點(diǎn)擊"自定義",然后點(diǎn)擊對(duì)應(yīng)的"編輯"按鈕,在彈出的"安全性"對(duì)話框中填加
一個(gè)"NETWORK SERVICE"用戶(注意要選擇本計(jì)算機(jī)名),并給它賦予"本地啟動(dòng)"和"本地激活"權(quán)限.
7:依然是"安全"標(biāo)簽,在"訪問權(quán)限"上點(diǎn)擊"自定義",然后點(diǎn)擊"編輯",在彈出的"安全性"對(duì)話框中也填加一個(gè)"NETWORK
SERVICE"用戶,然后賦予"本地訪問"權(quán)限.
這樣,我們便配置好了相應(yīng)的Excel的DCOM權(quán)限.
注意:這是在WIN2003上配置的,在2000,xp上,NETWORK SERVICE用戶改為ASP.net用戶。
win7
填加一個(gè)"NETWORK SERVICE"用戶
檢查IIS7的設(shè)置,最后確定還需要設(shè)置應(yīng)用程序池的標(biāo)識(shí),把此網(wǎng)站的AppPool的標(biāo)識(shí)要設(shè)置為LocalSystem或者NetworkService.
當(dāng)系統(tǒng)是window server2008時(shí)(我的就是),此時(shí)IIS的默認(rèn)程序池的標(biāo)識(shí)應(yīng)設(shè)置為LoalSystem才能夠成功。
這是設(shè)置DCOM的屬性.
另外在iis里面要設(shè)置你所應(yīng)用的"應(yīng)用程序池"的標(biāo)識(shí)屬性為:Network Service.
再次要在C:\Windows\SysWOW64\config\systemprofile和C:\Windows\System32\config\systemprofile文件夾里面新建Desktop文件夾.(具體原因不詳).看是否能解決問題
最后,關(guān)于用戶下載excel 文件直接退出系統(tǒng)的bug,需要添加:
XXX代表用戶名,***代表用戶密碼(都是系統(tǒng)登錄的),必須設(shè)置(貌似可以不用設(shè)置,但是之前測試成功過,后來就再也沒有成功過了),所以還是給計(jì)算機(jī)設(shè)置一個(gè)登錄密碼吧,畢竟是要做服務(wù)器的電腦,沒有密碼,情何以堪!!!!
以上便完成了IIS配置帶有office下載和上傳文件的必要操作。(親測有效哦!!!實(shí)驗(yàn)了n太電腦,都沒有問題,從SERVER 2008,到win7 到win8 再到win8.1).