Excel ADO RecordSet具有数值单元格的空值

我试图从Excel文件导入一些数据来处理,但我遇到了数值单元值的问题。 我有一些列将有价值的一些都是数字,而其他值可能是数字和非数字值(没有特殊字符,只是AZ字母)的混合。 要将数据导入logging集,我正在执行以下操作

Set oconn = New ADODB.connection oconn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & excelFile & ";" & "Extended Properties=""Excel 8.0;HDR=YES;""" sTableName = "[sheet1$]" sTableName = "select * from " & sTableName Set oRs = New ADODB.Recordset oRs.Open sTableName, oconn, adOpenStatic, adLockOptimistic 

当我正在读取logging集的值时,数值在混合格式的列中显示为空白。 有什么办法让logging集只读取所有值作为文本或另一种方式来读取Excel文件,以避免这个问题?

我有一个类似的问题,但相反,数字显示正常,但阿尔法没有。 添加后

;IMEX=1

扩展属性,它工作正常。

IMEX=1表示始终以文本forms读取混合数据列。

如果稍后可以排除它,则最简单的方法是将数据的前八行设置为所需的types。 尽pipe可以select在ODBC中指定“扫描行”,但总是会扫描前8行。 如果你能负担得起顶部的一些虚拟数据(稍后被数据透视等排除在外),这个效果很好! 您可以在这里看到Microsoft的参考资料: https : //support.microsoft.com/en-us/kb/141284