从Excel中读取与OleDbDataAdapter一些数字单元格进来科学记数法?

从Excel中读取与OleDbDataAdapter一些数字单元格进入科学记数法。 只有只有数字(有些可能包含字母)的string是六位或七位数字或更多。 我不可能在每个单元之前放一个''。 在新版本的Excel中,完全没有问题。 问题与旧版本(我认为是2003年,但我不确定)

Dim dt As DataTable = dbConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _ New Object() {Nothing, Nothing, Nothing, "TABLE"}) Dim dbAdapter As New OleDbDataAdapter("SELECT * FROM [" & strSheet & "] ", dbConn) 

我已经试过了,我不知道该怎么做。 我试过按名称select每一列,并连接一个空string,我试着在连接string中添加IMEX = 1。 或修改registry:

  Private Function CheckRegKey() As Boolean Try Dim strRows As String = My.Computer.Registry.GetValue( _ "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel", "TypeGuessRows", "99").ToString Dim strTypes As String = My.Computer.Registry.GetValue( _ "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel", "ImportMixedTypes", "zip").ToString If strRows <> "0" Then My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel", "TypeGuessRows", 0, Microsoft.Win32.RegistryValueKind.DWord) End If If strTypes <> "Text" Then My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel", "ImportMixedTypes", "Text") End If Catch ex As Exception Return False End Try Return True End Function Dim dbAdapter As New OleDbDataAdapter("SELECT * FROM [" & strSheet & "] ", dbConn) 

有人有主意吗?

我似乎可以通过修改select语句来修复它。 当与上面的代码一起使用时,这是有效的。

我只列出了给我提出问题的列,但是因为我将它从SELECT *切换到指定列数据,所以包含您需要的每个列名是很重要的。

 Dim dbAdapter As New OleDbDataAdapter("SELECT FORMAT(part_no, ""######"") As part_no FROM [" & strSheet & "] ", dbConn)