Hola:
Este ejemplo lee un archivo csv y lo muestra en un datagrid...........
Lo que hace la 1 y 2 linea del procedimenito es:
1 Leer el delimitador que tiene tu pc por defecto
2 Cambiarlo por la coma si fuese necesario
Igualmente la linea que esta dentro del finally modifica el registro dejandolo a su estado original.
Dentro del sConnectiosString especifico la ruta de mi archivo Data Source=c:\ y en el select
solo llamo al archivo como veras en el ejemplo.
Tambien en contraras HDR=No ' El archvio no tiene cabecera para los registros y si lo tuviera pues lo cambias por HDR=Yes y listoooo............................
Imports System.Data
Imports System.Data.OleDb
Sub ReadCSVFile()
'Obtenemos el delimitador que usa el Sistema
Dim valor As String = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engines\Text", "Format", Nothing)
'Con esto cambias el delimitador del sistema a (,) = coma
My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engines\Text", "Format", "Delimited(,)")
Dim sConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\;Extended Properties=" & Chr(34) & "text;HDR=No;Format=(,)" & Chr(34)
Dim objConn As New OleDbConnection(sConnectionString)
objConn.Open()
Try
Dim objCmdSelect As New OleDbCommand("SELECT * FROM test.csv", objConn)
Dim objAdapter1 As New OleDbDataAdapter()
objAdapter1.SelectCommand = objCmdSelect
Dim objDataset1 As New DataSet()
objAdapter1.Fill(objDataset1, "Test")
DataGridView1.DataSource = objDataset1.Tables(0) '.DefaultView
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
objConn.Close()
'Con esto restauramos el delimitador del sistema a como estaba incialmente
My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engines\Text", "Format", valor)
End Try
End Sub