Por las dudas, te paso esta receta que encontré en Google:

 

*============================================================
cFileName = Getfile("XLS")
Thisform.txt_excel.Value = Justfname(cFileName)
Thisform.cFile = cFileName

If File(Thisform.cFile)

    #Define xlLandscape 2
    #Define xlDoNotSaveChanges 2

    Select crsListaIndice
    Zap

    loExcel = Createobject("Excel.application")
    With loExcel
        .Application.Workbooks.Open(Thisform.cFile)
        .Visible = .T. && Muestro Excel
        For i = 1 To loExcel.activeworkbook.sheets.Count
            cHoja = Alltrim(Upper(loExcel.activeworkbook.sheets[i].Name))

            loExcel.activeworkbook.sheets[i].Activate

            lnCol = .ActiveSheet.UsedRange.Columns.Count  && -- Cantidad de
columnas
            lnFil = .ActiveSheet.UsedRange.Rows.Count     && -- Cantidad de
filas
            *--------------------------------------------
            For fila=2 To lnFil

                Select crsListaIndice
                Append Blank
                Replace crsListaIndice.num_escritura With
Thisform.vacio(loExcel.activeworkbook.ActiveSheet.Cells(fila, 1).Value, "N")
                Replace crsListaIndice.objeto With
Thisform.vacio(loExcel.activeworkbook.ActiveSheet.Cells(fila, 2).Value, "C")
                Replace crsListaIndice.otorgantes With
Thisform.vacio(loExcel.activeworkbook.ActiveSheet.Cells(fila, 3).Value, "C")
                Replace crsListaIndice.fecha With
Thisform.vacio(loExcel.activeworkbook.ActiveSheet.Cells(fila, 4).Value,
"DT")
                Replace crsListaIndice.afavor With
Thisform.vacio(loExcel.activeworkbook.ActiveSheet.Cells(fila, 5).Value, "C")
                Replace crsListaIndice.folio With
Thisform.vacio(loExcel.activeworkbook.ActiveSheet.Cells(fila, 6).Value, "C")
                
            Next fila

        Next i

        .ActiveWindow.Close(xlDoNotSaveChanges)
        .Quit()
    Endwith
    Clear Resources Thisform.cFile

    Select crsListaIndice
    Go Top
    Thisform.grid11.Refresh
Endif
*======================================================================

 

De: [email protected] [mailto:[email protected]] En nombre de Sebastian Massetti
Enviado el: martes, 14 de marzo de 2017 09:26
Para: GUFA List Member <[email protected]>
Asunto: [GUFA] Importar desde CSV un campo memo

 

Hola gente !

Tengo un CSV con uno de los campos a importar extremadamente largo que debo
importar a un memo.

Dado que el APPE FROM CSV DELIMITED... no importa campos memos, opte por
recorrer el CSV linea a linea utlizando la funcion MLINE()

Funciona correctamente las primeras 300 lineas, pero luego se pone
extremadamente lento ya que a fox le insume mucho tiempo acceder a MLINE()
cuando el numero de linea se va incrementando , en este caso son 10 mil
renglones del CSV

 

La pregunta es si a alguien se le ocurre una forma rapida de importar los
datos del CSV a un DBF cuyo primer campo es del tipo memo.

Gracias.

Sebastian.

Responder a