轉:使用Office組件讀取Excel,引用Microsoft.Office.Interop.Excel出現的問題

來源:互聯網
上載者:User

 

轉自:http://www.cnblogs.com/Mainz/archive/2009/11/11/microsoft_office_interop_excel.html

 

操作背景:asp.net操作Excel

出現問題:在本地添加引用(com):Microsoft Office 11.0 Object Library,並寫好程式調試正常,部署到伺服器時,出現異常 Excel.Application不是對象.

初步診斷:伺服器沒有安裝Office 和 Excel組件

第一步嘗試解決:對伺服器安裝Excel等Office組件,進一步測試程式:失敗!

第二步嘗試解決:將Excel.exe產生Interop.Excel.dll,然後用sdk引用該Dll,編譯成功,測試程式:成功!

原因:本地引用的com不會在程式的bin目錄產生dll檔案,而程式是根據路徑在尋找dll的.部署到伺服器上時,假如Excel等dll與本地路徑不一致,將會拋出異常,定義的Excel對象肯定是不存在的.

具體方法:

1、如何產生Interop.Excel.dll?

     進入你的visual studio的sdk下的bin目錄,找到TlbImp.exe檔案,如果沒有,請用光碟片安裝此檔案,詳細說明請參照MSDN。
     命令列(cmd)進入bin目錄,運行TlbImp /out:Interop.Excel.dll Office安裝目錄+Excel.exe

     此時很可能會報錯:TlbImp   error:   Unable   to   locate   input   type   library:   'c:/program files/mcrosoft offi  
  ce/office/EXCEL.EXE'
     此問題很有可能是TlbImp的bug,不支援空格式的路徑;(具體原因不明)不要緊,將Excel.exe拷貝入bin目錄,直接運行TlbImp /out:Interop.Excel.dll Excel.exe,提示“Type library imported to Interop.Excel.dll路徑”

     在bin目錄下找到Interop.Excel.dll檔案。在你的visual studio裡將其引用即可。

2、如果是excel2000或excel2002怎麼辦?

如果是Excel2000,則將Excel.exe改成Excel9.olb
  Excel2002同2003

3、各種版本的引用組件參數如下:

 

檔案/版本 Interop.Excel.dll Interop.Office.dll Interop.VBIDE.dll 添加引用/COM組件
2000 V1.3.0.0 V2.1.0.0 V5.3.0.0 Microsoft Excel 9.0 Object Library(EXCEL9.OLB)
2002(xp) V1.4.0.0 V2.2.0.0 V5.3.0.0 Microsoft Excel 10.0 Object Library(Excel.EXE檔案)
2003 V1.5.0.0 V2.3.0.0 V5.3.0.0 Microsoft Excel 11.0 Object Library(Excel.EXE檔案)

 

(另外一種既不需要用戶端安裝excel也不需要安裝Microsoft.Jet.OLEDB.4.0的方法: http://www.codeproject.com/KB/office/ExcelReader.aspx) 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.