我有一个CSV文件,我想在其上导入所有数据。到目前为止,我可以将文件中的所有数据读取到我的数据库中,但我在那里的长数字转换为科学记数法,使我的数据多余。当我在notepad ++中打开我的CSV文件时,数据在其原始格式中看起来很好但是当我在excel中打开相同的文件时,数据是科学记数法。问题是我使用VBA excel来读取我的CSV文件所以数据我得到的是与我在excel中打开文件时相同。我希望能够使用VBA excel进行导入,但得到的原始数字不是科学记法,有一种方法可以操作,所以当我进行导入时,我得到原始格式的长号。 到目前为止,这是我导入的代码
con.Provider = "Microsoft.Ace.OLEDB.12.0"
con.ConnectionString = "Data Source=" & currentDataFilePath & ";" & "Extended Properties=""text;HDR=Yes;FMT=Delimited;"""
'MsgBox currentDataFilePath
con.Open
rs.Open "SELECT * FROM [" & currentDataFileName & "] ", con
rs.MoveFirst
'nextRow = Worksheets("Sheet3").UsedRange.Rows.Count + 1
'Worksheets("Sheet3").Cells(nextRow, 1).CopyFromRecordset rs
'MsgBox rs.RecordCount
With rs
Do Until .EOF
'check the field is not null before process
If Not IsNull(rs("Invoice Number")) Then
InvoiceNum = rs("Invoice Number")
End If
If Not IsNull(rs("Payer Name")) Then
PayerName = rs("Payer Name")
End If
If Not IsNull(rs("Card Number")) Then
CardNumber = """" & rs("Card Number") & """"
End If
If Not IsNull(rs("Licence Number")) Then
LicenceNumber = rs("Licence Number")
End If
If Not IsNull(rs("Driver Name")) Then
DriverName = rs("Driver Name")
End If
If Not IsNull(rs("Transaction Date")) Then
TransactionDate = rs("Transaction Date")
End If
sqlstring="INSERT INTO tabledata set InvoiceNum='"& InvoiceNum &"',PayerName='" & PayerName &"',CardNumber='" & CardNumber &"',TransactionDate='" & TransactionDate &"'"
call insertQuery(sqlstring)
.movenext
Loop
End With