C 讀取EXCEL中數字無法讀取的方法

2022-02-27 15:05:30 字數 641 閱讀 2704

今天碰到這問題

看了這個才解決 

無法讀取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 讀取的時候,它會認為那一...