FoxPro/Visual FoxPro - Base de Datos de FoxPro a Excel

 
Vista:

Base de Datos de FoxPro a Excel

Publicado por Paola (2 intervenciones) el 02/07/2011 16:01:22
Hola

Tengo una Base de Datos en FoxPro y quiero pasarla a Excel ¿alguien sabrá como hacerlo?
Gracias!
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

Base de Datos de FoxPro a Excel

Publicado por luis horacio isaza (93 intervenciones) el 02/07/2011 18:34:35
Buenos días,

Para pasar una tabla a excel hay varias formas:

1. Usando el comando copy to <tabla.xls> type xls
2. Usando el comando export to <tabla.xls> type xls
3. Recorrer la tabla y guardarla manualmente usando "Excel.aplication"

Saludos!
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

Base de Datos de FoxPro a Excel

Publicado por Paola (2 intervenciones) el 02/07/2011 19:37:07
Hola Luis

Gracias por tu respuesta, de las 3 opciones que me pones, la "más sencilla" a simple vista seria recorres la tabla y guardarla con "excel.aplication", pero no sé que es eso o cómo hacerlo, podrías explicarme paso a paso como lo tengo que hacer porque nunca he manejado FoxPro, de antemano agradezco tu respuesta.
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

Base de Datos de FoxPro a Excel

Publicado por es_binario (757 intervenciones) el 04/07/2011 15:28:52
Este codigo lo uso en uno de mis programas esta comentado espero te sirba de ejemplo.

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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
if thisform.chkSoloProductoCant.value = 0
	local Fila && Prepara la hoja de excel
	wait'Espere Un Momento Exportando Datos' window nowait
	_screen.mousepointer=14
	TmpSheet = CreateObject('Excel.Application')
	*// TmpSheet=getobject('','Excel.Sheet')
	XLApp=TmpSheet.application
	XLApp.visible=.t.
	XLApp.workbooks.add()
	XLSheet=XLApp.ActiveSheet
	*// encabezados del libro en excel *//
	XLSheet.Cells(4,1)="Código"
	XLSheet.Cells(4,1).font.bold=.t.
	XLSheet.Cells(4,1).font.size="9"
	XLSheet.Cells(4,1).font.name="Arial"
	XLSheet.Cells(4,2)="Articulo"
	XLSheet.Cells(4,2).font.bold=.t.
	XLSheet.Cells(4,2).font.size="9"
	XLSheet.Cells(4,2).font.name="Arial"
	XLSheet.Cells(4,3)="Cant."
	XLSheet.Cells(4,3).font.bold=.t.
	XLSheet.Cells(4,3).font.size="9"
	XLSheet.Cells(4,3).font.name="Arial"
	sele 1
	Fila=5
	do case && Verifica la forma de seleccionar los datos para ser enviados
	case thisform.Optiongroup1.value = 1 && Marzam
		select 	Articulos_a_solicitar.exp_1,;
			Articulos_a_solicitar.descrip,;
			Articulos_a_solicitar.exp_5;
			from Articulos_a_solicitar;
			where Articulos_a_solicitar.pedir = .t. into cursor dEnv
		select dEnv && Envia los datos
		go top
		scan
			XLSheet.Cells(Fila,1)=alltrim(dEnv.exp_1)
			XLSheet.Cells(Fila,2)=alltrim(dEnv.descrip)
			XLSheet.Cells(Fila,3)=dEnv.exp_5
			Fila=Fila+1
		endscan
	case thisform.Optiongroup1.value = 2 && Nadro
		select 	Articulos_a_solicitar.code_nadro,;
			Articulos_a_solicitar.descrip,;
			Articulos_a_solicitar.exp_5;
			from Articulos_a_solicitar;
			where Articulos_a_solicitar.pedir = .t. into cursor dEnv
		select dEnv && Envia los datos
		go top
		scan
			XLSheet.Cells(Fila,1)=alltrim(dEnv.code_nadro)
			XLSheet.Cells(Fila,2)=alltrim(dEnv.descrip)
			XLSheet.Cells(Fila,3)=dEnv.exp_5
			Fila=Fila+1
		endscan
	case thisform.Optiongroup1.value = 3 && otros
		select 	Articulos_a_solicitar.cve_prov,;
			Articulos_a_solicitar.descrip,;
			Articulos_a_solicitar.exp_5;
			from Articulos_a_solicitar;
			where Articulos_a_solicitar.pedir = .t. into cursor dEnv
		select dEnv && Envia los datos
		go top
		scan
			XLSheet.Cells(Fila,1)=alltrim(dEnv.cve_prov)
			XLSheet.Cells(Fila,2)=alltrim(dEnv.descrip)
			XLSheet.Cells(Fila,3)=dEnv.exp_5
			Fila=Fila+1
		endscan
	endcase
else
	local Fila && Prepara la hoja de excel
	wait'Espere Un Momento Exportando Datos' window nowait
	_screen.mousepointer=14
	TmpSheet=getobject('','Excel.Sheet')
	XLApp=TmpSheet.application
	XLApp.visible=.t.
	XLApp.workbooks.add()
	XLSheet=XLApp.ActiveSheet
	XLSheet.Cells(4,1)="Articulo"
	XLSheet.Cells(4,1).font.bold=.t.
	XLSheet.Cells(4,1).font.size="9"
	XLSheet.Cells(4,1).font.name="Arial"
	XLSheet.Cells(4,2)="Cant."
	XLSheet.Cells(4,2).font.bold=.t.
	XLSheet.Cells(4,2).font.size="9"
	XLSheet.Cells(4,2).font.name="Arial"
	XLSheet.Cells(4,4)="Articulo"
	XLSheet.Cells(4,4).font.bold=.t.
	XLSheet.Cells(4,4).font.size="9"
	XLSheet.Cells(4,4).font.name="Arial"
	XLSheet.Cells(4,5)="Cant."
	XLSheet.Cells(4,5).font.bold=.t.
	XLSheet.Cells(4,5).font.size="9"
	XLSheet.Cells(4,5).font.name="Arial"
	sele 1
	Fila=5
	select 	Articulos_a_solicitar.descrip,;
		Articulos_a_solicitar.exp_5;
		from Articulos_a_solicitar;
		where Articulos_a_solicitar.pedir = .t. into cursor dEnv
	*// comienza el envio de datos a nuetro libro en excel *//
	select dEnv
	go top
	scan
		*// la siguiente condicion, mand el informe en dos columnas
		*//
		if mod(recno(), 2) = 0
			*// para un registro par *//
			XLSheet.Cells(Fila,4)=alltrim(dEnv.descrip)
			XLSheet.Cells(Fila,5)=dEnv.exp_5
			Fila=Fila+1
		else
			*// para un registro primo *//
			XLSheet.Cells(Fila,1)=alltrim(dEnv.descrip)
			XLSheet.Cells(Fila,2)=dEnv.exp_5
			XLSheet.Cells(Fila,3)="---"
			Fila=Fila
		endif
	endscan
endif
*//;
Ajusta Las celdas al tamaño de los datos;
*//
XLSheet.columns("A:A").EntireColumn.autofit
XLSheet.columns("B:B").EntireColumn.autofit
XLSheet.columns("C:C").EntireColumn.autofit
XLSheet.columns("D:D").EntireColumn.autofit
XLSheet.columns("E:E").EntireColumn.autofit
XLSheet.columns("F:F").EntireColumn.autofit
*// Datos de la hoja, despues de ajustar las columnas;
para evitar que se ajuste a los nuevos campos;
*//
set date long
XLSheet.Cells(1,1)="Fecha: " + dtoc(date())
XLSheet.Cells(1,1).font.bold=.t.
XLSheet.Cells(1,1).font.size="11"
XLSheet.Cells(1,1).font.name="Arial"
set date short
_screen.mousepointer=0



saludos.
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