2010-06-11 251 views
3

任何幫助表示讚賞:異常來自HRESULT:0x800A03EC

我正在開發與VS2010交互的C#.Net應用程序與Excel。該應用程序在我的本地機器上正常工作。然而,上傳到遠程Windows 2003服務器會中斷應用程序。

本來,我收到以下消息

  • 與CLSID {00024500-0000-0000-C000-000000000046}失敗,由於以下錯誤檢索COM類工廠組件:80070005

谷歌搜索的問題(這表明權限問題)之後,我想這:

現在我得到了同樣的操作此消息:

  • 從HRESULT異常:0x800A03EC

谷歌搜索似乎暗示這是版本匹配錯誤。但是,本地計算機和遠程服務器都使用Excel 2007.

任何建議都將非常受歡迎。提前致謝。

-Daniel

回答

0

建議:

  1. 從一個線程控制Excel和使用 「EN_US」 文化。如果使用非英語文化,有很多觸發0x800A03EC的屬性。是意外您的Windows 2003使用另一種系統語言,如果是的話,那麼這可能是問題。無需重新安裝Windows!只需在您的應用中指定線索的文化。
  2. 檢查使用範圍設置的字符串的長度。有911個字符的限制。您可以爲具有較大字符串的單元格單獨設置它們。這是乏味的,但我找不到任何其他方式來解決這個問題。
1

如果您要將datagridview發送到Excel電子表格,請記住Excel單元格始於Cell(1,1),但datagridview.rows和datagridview.columns的索引爲0.因此,如果您嘗試發送datagridviewcell(0,0)的內容到Excel單元格(0,0),您將從HRESULT中獲得異常:0x800A03EC

我在瘋狂地搜尋了15分鐘左右,然後將我的手掌into到我的前額那個。

Excel.Cells(0,0)=Datagridviewcellvalue // throws HRESULT: 0x800A03EC error 
Excel.Cells(1,1) = Datagridviewcellvalue //no error 
0

我能夠通過全面禁用所有加載項並重新啓動應用程序來解決此問題。然後我重新啓用了有用的,看着Excel的行爲。 YMMV

0

從「C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files」這個文件夾中刪除臨時ASP.Net文件,請在此之後檢查。

檢查後,它也沒有工作,然後重新啓動系統,並檢查...有可能發生這種情況,因爲損壞的文件。所以做一張光盤檢查。

謝謝

相關問題