asp.net 導(dǎo)出Excel 錯誤解決備忘
網(wǎng)站項目要用到導(dǎo)出為excel文件的功能,程序運行時報錯:"檢索 COM 類工廠中 CLSID 為{000-0000-0000-C0046} 的組件時失敗,原因是出現(xiàn)以下錯誤: 。"上網(wǎng)又查了半天,終于找到了解決方案,原來是權(quán)限設(shè)置的問題,解決方法如下:
1:在服務(wù)器上安裝office的Excel軟件.
2:在"開始"->"運行"中輸入dcomcnfg.exe啟動"組件服務(wù)"
3:依次雙擊"組件服務(wù)"->"計算機"->"我的電腦"->"DCOM配置"
4:在"DCOM配置"中找到"Microsoft Excel 應(yīng)用程序",在它上面點擊左鍵,然后點擊"屬性",彈出"Microsoft Excel 應(yīng)
用程序?qū)傩?對話框
5:點擊"標識"標簽,選擇"交互式用戶"
6:點擊"安全"標簽,在"啟動和激活權(quán)限"上點擊"自定義",然后點擊洞喀的"編輯"按鈕,在彈出的"安全性"對話框中填加
一個"NETWORK SERVICE"用戶(注意要選擇本計算機名),并給它付與"本地啟動"和"本地激活"權(quán)限.
7:依然是"安全"標簽,在"訪問權(quán)限"上點擊"自定義",然后點擊"編輯",在彈出的"安全性"對話框中也添加"NETWORK
SERVICE"用戶,然后付與"本地訪問"權(quán)限.
這樣,我們便配置好了響應(yīng)的Excel的DCOM權(quán)限.
注意:這是在WIN2003上配置的,在2000上,可能是配置ASPNET用戶
由于EXCEL是在服務(wù)器上的,該寫一個把導(dǎo)出數(shù)據(jù)保存在服務(wù)器上,然后再傳遞給客戶端的方法,最后每次調(diào)
用這個功能的時候再刪除以前在服務(wù)器上所天生的所有Excel
------
但按照方法在系統(tǒng)的DCOM設(shè)置里卻沒有發(fā)現(xiàn) Microsoft Excel 應(yīng)用程序 ??
------
之后找到了原因,如下,是由于我使用的是64位系統(tǒng)導(dǎo)致:
主要是64位系統(tǒng)的問題,excel是32位的組件,所以在正常的系統(tǒng)組件服務(wù)里是看不到的
可以通過在運行里面輸入 comexp.msc -32 來打開32位的組件服務(wù),在里就能看到excel組件了
新聞熱點
疑難解答