OLEDB Импорт CSV в VB.NET для чтения с данными '-' как 0
Приветствую полезных восхитительных людей,
У меня проблема с чтением CSV-файлов и преобразованием в таблицы данных в VB.Net. Если файл CSV содержит столбец, полный «-», то при импорте в таблицу данных они отображаются как «0», и весь столбец форматируется в числовом формате.
Код, который я написал:
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
Может кто-нибудь умнее разобраться, как бороться с этой проблемой, кроме изменения файла CSV, убрав пробел в виде «-», который на данный момент кажется единственным долгосрочным способом импорта этих файлов CSV.
Большое спасибо