Hier ist eine einfache Lösung ist, die ODBC ADO.Net Text-Treiber verwendet:
Dim csvFileFolder As String = "C:\YourFileFolder"
Dim csvFileName As String = "YourFile.csv"
'Note that the folder is specified in the connection string,
'not the file. That's specified in the SELECT query, later.
Dim connString As String = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" _
& csvFileFolder & ";Extended Properties=""Text;HDR=No;FMT=Delimited"""
Dim conn As New Odbc.OdbcConnection(connString)
'Open a data adapter, specifying the file name to load
Dim da As New Odbc.OdbcDataAdapter("SELECT * FROM [" & csvFileName & "]", conn)
'Then fill a data table, which can be bound to a grid
Dim dt As New DataTable
da.Fill(dt)
grdCSVData.DataSource = dt
Einmal gefüllt, Sie können Eigenschaften bewerten der Datentabelle wie ColumnName, um alle Potenzen der ADO.Net-Datenobjekte zu nutzen.
In VS2008 können Sie Linq verwenden, um den gleichen Effekt zu erzielen.
Ziemlich viel Code. Warum nicht den in VB.NET integrierten TextParser verwenden? http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.fileio.textfieldparser.aspx – MarkJ
Da CSVs nie streng definiert wurden, habe ich das Gefühl, dass eine eingebaute Bibliothek unweigerlich zum Black-Box-Syndrom führt. Etwas wird nicht richtig funktionieren und du wirst nicht wissen warum. Es ist eine Frage der Präferenz, nehme ich an. –