日期:2014-05-17  浏览次数:21194 次

odbc连接excel 字段中某些值读不到,求高手
odbc连接excel 字段中某些值读不到,求高手

连接excel代码如下:
  Dim Xls_Conn,Xls_rs,Xls_Sql,Xls_Str
Set Xls_Conn = Server.CreateObject("adodb.connection")
'Xls_Str = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=bcfiles/" & savepath & "/" & file.filename
Xls_Str="Driver={Microsoft Excel Driver (*.xls)};DBQ="&server.MapPath(savepath & "/" & file.filename)
Xls_Conn.Open Xls_Str
Xls_Sql="select * from [Sheet1$A1:K3000]"
Set Xls_rs=Server.CreateObject ("ADODB.Recordset")
Xls_rs.open Xls_Sql,Xls_Conn

while遍历Xls_rs 使用Xls_rs(2)取值时从第四行开始全为空




中厚板 正平板 1.2311
中厚板 正平板 1.2311
中厚板 正平板 1.2311
中厚板 正平板 12Cr2M01R 
中厚板 正平板 12Cr2M01R 
中厚板 正平板 12Cr2M01R 
中厚板 正平板 12Cr2M01R 
中厚板 正平板 12Cr2M01R 

反之,while遍历Xls_rs 使用Xls_rs(2)取值时从第六行开始全为空




中厚板 正平板 12Cr2M01R 
中厚板 正平板 12Cr2M01R 
中厚板 正平板 12Cr2M01R 
中厚板 正平板 12Cr2M01R 
中厚板 正平板 12Cr2M01R 
中厚板 正平板 1.2311
中厚板 正平板 1.2311
中厚板 正平板 1.2311


求高手赐教,谢谢!


------解决方案--------------------
filePath="aa.xls"
Xls_Str="Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(filePath) & ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'"

一定要加上IMEX=1
------解决方案--------------------
是数据类型不一致导致的,除了IMEX=1 ,还可以在excel文件本身里面,在每个单元格内容的前面加上'也可以
------解决方案--------------------
探讨

难道只有 ' ,这一个办法吗?
一次就是几千条,估计没有几个用户能愿意。