OLEDB Import von CSV nach VB.NET mit datierbarem Wert '-' als 0
rüße hilfreiche entzückende Leut
Ich habe ein Problem beim Lesen von CSV-Dateien und beim Konvertieren in Datentabellen in VB.Net. Wenn die CSV-Datei eine Spalte mit '-' enthält, werden diese beim Import in die Datentabelle als '0' angezeigt und die gesamte Spalte wird in einem numerischen Format formatiert.
Der Code, den ich geschrieben habe, ist:
Public Function LoadCsvFile(filePath As String) As DataTable
Try
DTReadCSV = New DataTable
Dim connection As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Microsoft.VisualBasic.Left(filePath, InStrRev(filePath, "\")) & ";Extended Properties=""text;HDR=Yes;FMT=Delimited""")
Dim adapter As New OleDb.OleDbDataAdapter("SELECT * FROM [" + Microsoft.VisualBasic.Mid(filePath, InStrRev(filePath, "\") + 1) + "]", connection)
'Dim table As New DataTable()
adapter.Fill(DTReadCSV)
'now thats its nicely in a datatable
IntAmountRows = DTReadCSV.Rows.Count
IntAmountColumns = DTReadCSV.Columns.Count
'System.Diagnostics.Debug.Print(DTReadCSV.Rows.Item(1)(1).ToString)
Return DTReadCSV
Exit Function
Catch ex As Exception
MsgBox(ex.ToString())
MsgBox(Err.Number & " " & Chr(13) & Err.Description)
End Try
End Function
Bitte kann jemand klüger herausfinden, wie man dieses Problem bekämpft, außer die CSV-Datei zu ändern, indem das '-' als Leerzeichen entfernt wird, was im Moment die einzige langwierige Methode zum Importieren dieser CSV-Dateien ist.
Danke vielmal