Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/10/2010, 15:03
Avatar de erbuson
erbuson
 
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 15 años
Puntos: 53
Respuesta: leer archivo csv, transformar datos y crear un nuevo csv

Hola, te dejo un ejemplo de como cargar los datos de un CSV en un FlexGrid, que probablemente te ayude o por lo menos te aporte ideas.

Código vb:
Ver original
  1. Private Sub CargarCSV(Grid As MSFlexGrid, FicheroCSV As String, Optional Separador As String = ";")
  2.   ' Carga en un FlexGrid un fichero en formato CSV
  3.  Dim Fichero As Integer, Registro As String, Campos() As String, Fila As Single, Columna As Single
  4.   ' Abrimos el fichero de Texto
  5.  Fichero = FreeFile
  6.   Open FicheroCSV For Input As #Fichero
  7.   ' Lo procesamos hasta el final
  8.  While Not EOF(Fichero)
  9.     ' Leemos un Registro y lo separamos en Campos individuales
  10.    Line Input #Fichero, Registro
  11.     Campos = Split(Registro, Separador)
  12.     ' Si es la primera Lectura (Fila=0) dimensionamos adecuadamente el Grid
  13.    If Fila = 0 Then
  14.       Grid.Clear                      'Lo borramos
  15.      Grid.FixedCols = 0              'Numero de Columnas fijas
  16.      Grid.FixedRows = 1              'Numero de Filas Fijas (Titulos)
  17.      Grid.Rows = 1                   '1 Fila
  18.      Grid.Cols = UBound(Campos) + 1  'Columnas +1
  19.    End If
  20.     ' Control de Fila a utilizar, se añade si es necesario
  21.    If Grid.Rows <= Fila Then Grid.Rows = Fila + 1
  22.     ' Situamos una a una las Columnas.
  23.    For Columna = 0 To UBound(Campos)
  24.       Grid.TextMatrix(Fila, Columna) = Campos(Columna)
  25.     Next
  26.     ' Aumentamos número de Fila
  27.    Fila = Fila + 1
  28.   Wend
  29.   Close #Fichero
  30. End Sub

Cualquier duda, comentamos.

Saludos
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...