Tecnología

Inicio

Cómo leer un archivo CSV en Visual Basic

Cómo leer un archivo CSV en Visual Basic


formato de valores separados por comas (CSV) es un formato común que se utiliza para el intercambio de datos entre diferentes programas que pueden no soportar el formato nativo de uno al otro. Por ejemplo, se puede utilizar para intercambiar datos de hoja de cálculo entre los datos de base de datos Excel y otra hoja de cálculo, o entre el acceso y MySQL. Visual Basic no contiene una función automática para cargar archivos CSV, sin embargo una de las razones de su apoyo generalizado es su simplicidad. Como su nombre lo indica, los archivos CSV son nada más que una lista de valores separados por una coma o una nueva línea. Es bastante simple de crear un lector CSV en Visual Basic.

Instrucciones

1 Crear un nuevo proyecto haciendo clic en "Archivo" y "Nuevo proyecto".

2 Arrastre un botón a su formulario desde la caja de herramientas con el ratón.

3 Encuentra el control "OpenFileDialog" y añadirlo a su forma también. Dado que este control es inicialmente invisible, que no aparece en el formulario, sino debajo de ella.

4 Haga doble clic en el botón para crear un evento que tendrá lugar cada vez que el usuario hace clic en el botón. Pegue el siguiente código que le pedirá al usuario un archivo CSV y cargar sus datos en una matriz 2D:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

REM Get the file the user wants to load.
OpenFileDialog1.ShowDialog()
Dim filename As String = OpenFileDialog1.FileName
Dim fileStream As System.IO.StreamReader = New System.IO.StreamReader(filename)

REM Leer todos los datos del archivo en una sola cadena.

Dim contents As String = fileStream.ReadToEnd

REM dividir la cadena en sus valores. Una vez finalizada esta operación, habrá una matriz unidimensional de los valores, y el final de las filas estarán marcados por cadenas vacías.

los valores Dim = contents.Split ()
Dim arr Como ArrayList = new ArrayList
filas dévil como ArrayList = new ArrayList

REM Mover los datos en una matriz 2D.

For x As Integer = 0 To lines.Length - 1
If lines(x) IsNot String.Empty Then
arr.Add(lines(x))
End If
rows.Add(arr.Clone)
arr.Clear()
Next

datos Dim (rows.Count, filas (0) .count) como secuencia

Para x As Integer = 0 Para rows.Count - 1
Para y As Integer = 0 Para filas (x) .count - 1
datos (x, y) = filas (x) (y)
Siguiente
Siguiente

End Sub