在用c#操做excel的時候,碰到了一下的問題:html
1.Microsoft.Ace.OleDb.12.0未安裝,能夠到下載2007 Office system 驅動程序AccessDatabaseEngine2007_CHS.zip:sql
數據鏈接組件安裝
http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exec#
2.鏈接字符串的問題。採用Microsoft.Jet.OleDb.4.0,能夠讀取excel2007之前的版本,在客戶機上不須要部署office,採用Microsoft.Ace.OleDb.12.0的時候,須要安裝引擎。ide
@"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"可必免數據類型衝突。excel
3.oledb鏈接打開的時候出現外部表不是預期的格式,這是由於讀取的表格多是帶有html的格式,須要打開該表格,另存爲標準的xls格式文檔便可讀取htm
採用oledb的時候讀取和讀寫都比較的方便快速,尤爲是能夠不須要安裝office組件,採用sql語句進行操做通用性強,將Excel中內容看做數據表,讀取操做簡單可靠,適合內容規範的Excel表格的數據讀取可是缺點是當Excel結構複雜,如含合併單元等時,沒法正確讀取,甚至出現不可預知的異常。ip