1. 程式人生 > >.net excel導入時文本格式為空的問題

.net excel導入時文本格式為空的問題

數字 mex 單元 amp imex ide 字段 取出 字符串

string str = "SELECT * FROM [Sheet1$]";
return this.cmd.ExecuteReader();

這種訪問方式,provider內部機制回去自動推測判斷每列的單元格數據儲存類型的.

之所以部分行列的單元格指讀取不出來,大部分是因為數據類型的問題.

特別是 同一列有數字,而部分數字儲存格式不同,你打開EXCEL就可以看到有綠色的小三角在左上角.

這類讀取出來就有可能是空

解決同一列中“字符串”和“數字”兩種格式同時存在,讀取時,不能正確顯示“字符串”格式的問題:

方法一:修改代碼

set xlsconn=CreateObject("ADODB.Connection") xlsconn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.mappath(xlspath)&";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
主要是驅動的問題,需要添加hdr 和 imex,
其中,hdr取值yes,no ,表示第一行是否為字段名
imex 取值1,2,
其中1 正是解決此問題的關鍵

方法二:修改Excel

強制將數字和字符串共存列設置為文本格式即可

.net excel導入時文本格式為空的問題