Importación OLEDB de CSV a tabla de datos VB.NET leyendo '-' como 0
Saludos, gente encantadora y servicial,
Tengo un problema con la lectura de archivos CSV y la conversión a tablas de datos en VB.Net. Si el archivo CSV contiene una columna llena de '-', luego de la importación en la tabla de datos aparecen como '0' y toda la columna está formateada en formato numérico.
El código que he escrito es:
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
Por favor, ¿puede alguien más inteligente descubrir cómo combatir este problema además de modificar el archivo CSV eliminando el '-' como espacios en blanco, que en este momento parece la única forma larga de importar estos archivos CSV.
Muchas gracias