.net excel導入時文本格式為空的問題
阿新 • • 發佈:2017-11-06
數字 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導入時文本格式為空的問題