今天碰到這問題
看了這個才解決
無法讀取excel中的資料單元格。有資料,但是讀出來全是空值。
解決方法:
1.在匯入資料連線字串中,將imex=1加入,「provider=microsoft.jet.oledb.4.0;data source="c:\data.xls";extended properties="excel 8.0;hdr=yes;imex=1; 」,這樣就可以。
注:「hdr=yes;」指示第一行中包含列名,而不是資料;
「imex=1;」通知驅動程
序始終將「互混」資料列作為文字讀取。
兩者必須一起使用。
本以為這樣就ok了。但在實際使用過程中,這樣設定還是不行,查閱了不少資料才發現,原來還有乙個登錄檔裡的資訊需要修改,這樣帶能讓excel不再使用前8行的內容來確定該列的型別。
登錄檔修改內容如下:
在hkey_local_machine\software\microsoft\jet\4.0\engines\excel有乙個typeguessrows值,預設是8,表示會先讀取前8列來決定每乙個欄位的型態,所以如果前8列的資料都是數字,到了第9列以後出現的文字資料都會變成null,所以如果要解決這個問題,只要把typeguessrows機碼值改成0,就可以解這個問題了。
C 讀取Excel,匯出Excel
c 讀取excel 方法一 oledb方式 1 定義連線字串 string strconn provider microsoft.jet.oledb.4.0 data source exce檔案路徑及名字 extended properties excel 8.0 hdr false imex 1 ...
C 讀取Excel,匯出Excel
c 讀取excel 方法一 oledb方式 1 定義連線字串 string strconn provider microsoft.jet.oledb.4.0 data source exce檔案路徑及名字 extended properties excel 8.0 hdr false imex 1 ...
C 讀取Excel到DataTable中
1.先描述下碰到的問題,我的excel中有又一列,有數字和文字,任憑我在excel中設定單元格格式也無濟於事。通過 provider microsoft.jet.oledb.4.0 data source path extended properties excel 8.0 讀取的時候,它會認為那一...