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

Antworten auf die Frage(4)

Ihre Antwort auf die Frage