Microsoft.Ace.OleDb.12.0 操作excel


    在用c#操作excel的時候,碰到了一下的問題:

  1.Microsoft.Ace.OleDb.12.0未安裝,可以到下載2007 Office system 驅動程序AccessDatabaseEngine2007_CHS.zip:

     數據連接組件安裝
     http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe

  2.連接字符串的問題。采用Microsoft.Jet.OleDb.4.0,可以讀取excel2007以前的版本,在客戶機上不需要部署office,采用Microsoft.Ace.OleDb.12.0的時候,需要安裝引擎。

      @"Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + excelFile + @";Extended Properties='Excel 12.0; HDR=YES; IMEX=1'"; //此連接可以操作.xls與.xlsx文件。//備注: "HDR=yes;"是說Excel文件的第一行是列名而不是數據,"HDR=No;"正好與前面的相反。  "IMEX=1 "如果列中的數據類型不一致,使用"IMEX=1"可必免數據類型沖突。

  3.oledb連接打開的時候出現外部表不是預期的格式,這是因為讀取的表格可能是帶有html的格式,需要打開該表格,另存為標准的xls格式文檔即可讀取

采用oledb的時候讀取和讀寫都比較的方便快速,尤其是可以不需要安裝office組件,采用sql語句進行操作通用性強,將Excel中內容看作數據表,讀取操作簡單可靠,適合內容規范的Excel表格的數據讀取但是缺點是當Excel結構復雜,如含合並單元等時,無法正確讀取,甚至出現不可預知的異常。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM