excel DCOM

exbean發表於2011-08-10
最近在windows2003伺服器上部署Excel專案,裡面涉及的程式碼有: Excel.Application excelApplication = null; if (reuseExcelApplication) { //try to get existing application try { excelApplication = Marshal.GetActiveObject("Excel.Application") as Excel.Application; } catch (COMException) { } } if (excelApplication == null) { excelApplication = new Excel.Application(); createdExcelApplication = true; } 在我的XP上部署時,出現“檢索COM 類工廠中CLSID 為 {00024500-0000-0000-C000-000000000046}的元件時失敗,原因是出現以下錯誤: 80070005”,從網上搜了一下常見的有如下解決方案: http://blog.csdn.net/zijings8374/archive/2009/06/09/4256005.aspx 在XP下的解決辦法很簡單,如下步驟: 1:在伺服器上安裝office的Excel軟體. 2:在"開始"->"執行"中輸入dcomcnfg.exe啟動"元件服務" 3:依次雙擊"元件服務"->"計算機"->"我的電腦"->"DCOM配置" 4:在"DCOM配置"中找到"Microsoft Excel 應用程式",在它上面點選右鍵,然後點選"屬性",彈出"Microsoft Excel 應用程式屬性"對話方塊 5:點選"標識"標籤,選擇"互動式使用者" 6:點選"安全"標籤,在"啟動和啟用許可權"上點選"自定義",然後點選對應的"編輯"按鈕,在彈出的"安全性"對話方塊中填加一個"ASP.net"使用者(注意要選擇本計算機名),並給它賦予"本地啟動"和"本地啟用"許可權. 7:依然是"安全"標籤,在"訪問許可權"上點選"自定義",然後點選"編輯",在彈出的"安全性"對話方塊中也填加一個"ASP.net"使用者,然後賦予"本地訪問"許可權. 這樣,我們便配置好了相應的Excel的DCOM許可權. 注意:這是在WINxp上配置的,在2003上,ASP.net使用者改為NETWORK SERVICE使用者。 根據上述操作了一遍,結果還是這個錯誤,想到之前裝了office 2003檢視2007的外掛,在元件服務中又將“Microsoft Office Excel 2007工作簿”再配置一遍才解決問題,配置過程如下: 1、在"DCOM配置"中找到"Microsoft Office Excel 工作簿",在它上面點選右鍵,然後點選"屬性",彈出屬性對話方塊 2、按照上述方法再配置一遍即成功! 接著,要將我的應用程式部署在Windows2003下,本人按照上述方法怎麼弄都不成功,後來google了N下,在微軟官方網站上看到了出現該問題的可能原因(連結忘了,鬱悶):只有當前的登入使用者能夠對Excel元件進行操作,因此,基於windows2003的許可權問題,按照上述操作不起作用,正確的做法是 1 執行-》dcomcnfg.exe 2 在DCOM中找到Microsoft Excel應用程式,右鍵 -》屬性-》標識-》下列使用者 3 一般當前登入使用者為管理員(Administrator),輸入使用者名稱密碼 ,確認。 OK,你再試試! 方法很簡單,找方法的過程很難![@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9236282/viewspace-1053689/,如需轉載,請註明出處,否則將追究法律責任。

相關文章