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 originalPrivate Sub CargarCSV(Grid As MSFlexGrid, FicheroCSV As String, Optional Separador As String = ";")
' Carga en un FlexGrid un fichero en formato CSV
Dim Fichero As Integer, Registro As String, Campos() As String, Fila As Single, Columna As Single
' Abrimos el fichero de Texto
Fichero = FreeFile
Open FicheroCSV For Input As #Fichero
' Lo procesamos hasta el final
While Not EOF(Fichero)
' Leemos un Registro y lo separamos en Campos individuales
Line Input #Fichero, Registro
Campos = Split(Registro, Separador)
' Si es la primera Lectura (Fila=0) dimensionamos adecuadamente el Grid
If Fila = 0 Then
Grid.Clear 'Lo borramos
Grid.FixedCols = 0 'Numero de Columnas fijas
Grid.FixedRows = 1 'Numero de Filas Fijas (Titulos)
Grid.Rows = 1 '1 Fila
Grid.Cols = UBound(Campos) + 1 'Columnas +1
End If
' Control de Fila a utilizar, se añade si es necesario
If Grid.Rows <= Fila Then Grid.Rows = Fila + 1
' Situamos una a una las Columnas.
For Columna = 0 To UBound(Campos)
Grid.TextMatrix(Fila, Columna) = Campos(Columna)
Next
' Aumentamos número de Fila
Fila = Fila + 1
Wend
Close #Fichero
End Sub
Cualquier duda, comentamos.
Saludos