錯誤描述:當在ASP.NET應用程序中引用Microsoft Excel組件,並在程序中調用時,部署到服務器上經常會遇到以下的錯誤:
檢索 COM 類工廠中 CLSID 為{00024500-0000-0000-C000-000000000046} 的組件時失敗,原因是出現以下錯誤: 80070005

編程環境:ASP.NET C#
錯誤分析:這是因為Microsoft Excel作為一個COM組件默認只能被以下帳戶激活:Administrator System Interactive。而當你訪問的ASP.NET應用程序實際是以ASP.NET或Network Service群組帳戶執行的。
解決方案:一般方法有兩種:
方法一:為ASP.NET應用程序專門分配一個帳戶,並保證該帳戶在本地登陸時能正常的使用MICROSOFT Excel,然后在web.config文件的<system.web>節下加上以下設置。
<identity impersonate ="true" userName="賬號" password="密碼"/>
方法二:配置DCOM,使ASP.NET帳號能有權限調用Excel COM組件。
具體配置方法如下:
1、在服務器上安裝office的Excel軟件.
2、在"開始"->"運行"中輸入dcomcnfg.exe啟動"組件服務"
如果你是32位 操作系統:1.在"開始"->"運行"中輸入dcomcnfg.exe啟動"組件服務";2.依次雙擊"組件服務"->"計算機"->"我的電腦"->"DCOM配置";3.在"DCOM配置"中就能找到"Microsoft Excel 應用程序"
如果你是64位 操作系統:1.在"開始"->"運行"中輸入 mmc -32 啟動"控制台";2.文件--添加或刪除管理單元;3. 在可用的管理單元選中“組件服務”---添加---確定;4.依次雙擊"組件服務"->"計算機"->"我的電腦"->"DCOM配置";5.在"DCOM配置"中就能找到"Microsoft Excel 應用程序"

3、在"DCOM配置"中找到"Microsoft Excel 應用程序",在它上面點擊右鍵,然后點擊"屬性",彈出"Microsoft Excel 應用程序"屬性"對話框
4、點擊"標識"標簽,選擇"交互式用戶"
5、點擊"安全"標簽,在"啟動和激活權限"上點擊"自定義",然后點擊對應的"編輯"按鈕,在彈出的"安全性"對話框中填加"NETWORK SERVICE"用戶(注意要選擇本計算機名)和"IIS_IUSRS",並給它們賦予"本地啟動"和"本地激活"權限;在"訪問權限"上點擊"自定義",然后點擊"編輯",在彈出的"安全性"對話框中也填加"NETWORK SERVICE"用戶和"IIS_IUSRS",然后給他們賦予"本地訪問"權限.


6、點擊"確定"、"應用",如果是64位操作系統,點擊“文件”,然后保存。
