FoxPro/Visual FoxPro - Exportar a Excel

 
Vista:
sin imagen de perfil

Exportar a Excel

Publicado por Hector (6 intervenciones) el 19/02/2003 20:54:18
Hola a todos:

En una aplicación que estoy desarrollando exporto ciertos datos de unas tablas de Visual Fox Pro versión 7.0 a unas hojas de calculo de Excel.
En este momento hago la exportación con el comando´COPY:

COPY ALL TO DESTINO.XLS TYPE XL5

y esto para cada archivo que deseo exportar. Así, genero tantas hojas de calculo como archivos exporto.

¿Alguien sabe como exportar los datos de todos los archivos a un solo libro de Excel, de modo que dentro del archivo Excel los datos del primer archivo de FOX queden en la hoja1, los del segundo en la hoja 2 y así sucesivamente?.

Gracias por su ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Exportar a Excel

Publicado por Jaime Cardona (32 intervenciones) el 20/02/2003 16:15:45
Que tal existe una clase que encontre el el internet que te puede ayudar
el sitio es el siguiente el nombre es excelx, hace lo que tu quieres

http://www.universalthread.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Exportar a Excel

Publicado por antonio patiño (60 intervenciones) el 25/02/2003 21:30:31
creo que deberias ver la instruccion export tal vez te sirva solo que tiene limite de 64000 registros y debes indicar la version de excel que quieres
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como se exporta a excel

Publicado por Mario Martínez (9 intervenciones) el 06/05/2003 23:25:01
Primero debes seleccionar la tabla que queres exportar y luego este codigo.
Copy to "A donde queres llevar la table".xls typy xls = Y listo
ejemplo
Voy a exportar la tabla llamada Alumnos a mi disco duro locar que por defecto es C
SELECT ALUMNOS
COPY TO C:\COPIADO\LISTAALUMNOS.XLS TYPE XLS
Espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Exportar a Excel

Publicado por ALBERTO (1 intervención) el 17/12/2019 20:00:57
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
FUNCTION rep_excel(lcursor AS STRING, lnombre AS STRING)
  *!*       Parametros:
  *!*      lcursor: Nombre del Cursor o Tabla que se va a llevar a excel
  *!*      lnombre: El titulo de la pagina
 
  ************************************
  *!* Program:Rep_excel
  *!* Description: Esta función lleva a una hoja excel el contenido de un cursor
  *!* Colocando un Nombre pasado como parametro y los nombres de los campos del cursor como encabezado
  *!* Revision Information:1.0
  *!* Ejemplo de Uso: =rep_excel('mitabla','Listado de Artículos con sus Precios')
  *!* Enviar Bugs o sugerencias para mejoras a j_samper(sin)@cantv.net
  *************************************
  IF TYPE('lcursor')#'C' OR !USED(lcursor)
    =MESSAGEBOX("Parametros Invalidos",16,'De VFP a Excel')
    RETURN .F.
  ENDIF
  IF TYPE('lnombre')#'C'
    lnombre=''
  ENDIF
  LOCAL lpag AS INTEGER &&&&variable para determinar la página a ingresar los datos por si hay más de 60 mil registros
  lpag=1
  *** Creación del Objeto Excel
  WAIT WINDOW 'Abriendo aplicación Excel.' NOWAIT
  Oexcel = CREATEOBJECT("Excel.Application")
  WAIT CLEAR
  IF TYPE('Oexcel')#'O'
    =MESSAGEBOX("No se puede procesar el archivo porque no tiene la aplicación"+CHR(13)+;
      "Microsoft Excel instalada en su computador.",16,'De VFP a Excel')
    RETURN .F.
  ENDIF
  WAIT WINDOWS 'Procesando Tabla...'+LOWER(lcursor) NOCLEAR NOWAIT
  XLApp = Oexcel
  XLApp.workbooks.ADD()
  XLSheet = XLApp.ActiveSheet
  XLSheet.NAME='VFP_'+ALLTR(STR(lpag))
  SELECT(lcursor)
  lcuantos=AFIELDS(lcampos,lcursor)
  GO TOP IN (lcursor)
  LOCAL R,lcampo
  R=6
  SCAN
    IF R= 65500
      FOR I = 1 TO lcuantos
        lcname=lcampos(I,1)
        XLSheet.Cells(4,I).VALUE=lcname
        XLSheet.Cells(4,I).FONT.NAME = "Arial"
        XLSheet.Cells(4,I).FONT.SIZE = 10
        XLSheet.Cells(4,I).FONT.bold = .T.
      NEXT
      XLSheet.COLUMNS.AUTOFIT
      XLSheet.Cells(2,1).VALUE=lnombre
      XLSheet.Cells(2,1).FONT.bold = .T.
      XLSheet.Cells(1,1).VALUE='Demostración de Vfp a Excel'
      XLSheet.Cells(1,1).FONT.bold = .T.
      XLSheet.Cells(1,IIF((lcuantos-1)>0,lcuantos-1,lcuantos)).VALUE=ALLTRIM(DTOC(DATE()))
      XLSheet.COLUMNS.AUTOFIT
      R=6
      lpag=lpag+1
      XLApp.Sheets(lpag).SELECT
      XLSheet = XLApp.ActiveSheet
      XLSheet.NAME='VFP_'+ALLTR(STR(lpag))
    ENDIF
    FOR I=1 TO lcuantos
      lcampo=ALLTRIM(lcursor)+'.'+lcampos(I,1)
      IF TYPE('&lcampo')#'G'
        IF TYPE('&lcampo')='C'
          XLSheet.Cells(R,I).VALUE=ALLTRIM(&lcampo)
          XLSheet.Cells(R,I).FONT.NAME = "Arial"
          XLSheet.Cells(R,I).FONT.SIZE = 10
        ELSE
          IF TYPE('&lcampo')='T'
            XLSheet.Cells(R,I).VALUE=TTOC(&lcampo)
          ELSE
            XLSheet.Cells(R,I).VALUE=&lcampo
          ENDIF
          XLSheet.Cells(R,I).FONT.NAME = "Arial"
          XLSheet.Cells(R,I).FONT.SIZE = 10
        ENDIF
      ENDIF
    NEXT
    R=R+1
  ENDSCAN
  FOR I = 1 TO lcuantos
    lcname=lcampos(I,1)
    XLSheet.Cells(4,I).VALUE=lcname
    XLSheet.Cells(4,I).FONT.NAME = "Arial"
    XLSheet.Cells(4,I).FONT.SIZE = 10
    XLSheet.Cells(4,I).FONT.bold = .T.
  NEXT
  XLSheet.COLUMNS.AUTOFIT
  XLSheet.Cells(2,1).VALUE=lnombre
  XLSheet.Cells(2,1).FONT.bold = .T.
  XLSheet.Cells(1,1).VALUE='Demostración de Vfp a Excel'
  XLSheet.Cells(1,1).FONT.bold = .T.
  XLSheet.Cells(1,IIF((lcuantos-1)>0,lcuantos-1,lcuantos)).VALUE=ALLTRIM(DTOC(DATE()))
  XLSheet.COLUMNS.AUTOFIT
  WAIT WINDOWS 'Listo....' NOWAIT
  Oexcel.VISIBLE=.T.
  RETURN .T.
ENDFUNC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Exportar a Excel

Publicado por Antonio (1 intervención) el 25/01/2023 22:37:10
Acabo de descubrir este código y me parece muy útil. Lo he utilizado. pero me da fallo en la línea 57 cuando se encuentra con una fecha vacía. Como es 2019, seguramente ya lo habrás arreglado, no obstante yo lo he corregido a mi manera. Me gustaría confrontarla con la tuya.
Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar