FoxPro/Visual FoxPro - Exportar a Excel

 
Vista:

Exportar a Excel

Publicado por César Augusto (15 intervenciones) el 27/09/2002 17:07:25
Hola, quisiera que me ayuden con lo siguiente, tengo una aplicación en donde en alguno reportes hago la exportación de un dbf a excel, pero siempre me sale con la versión 2.1 de excel, y cuando son mas de 10 mil registros se pierden varios registros que es lo que tengo que hacer

Gracias
César
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 eric (254 intervenciones) el 27/09/2002 17:14:05
Hola cuando hagas la exportacion maneja algo asi:
Export to ......... TYPE XL5
Con eso debe crear la version 5 de XLS
Suerte
E.
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
sin imagen de perfil

RE:Exportar a Excel

Publicado por Guillermo Arias (294 intervenciones) el 28/09/2002 06:14:11
Mira yo lo hago así :
Uso la funcion creada por mi excel_auto , los parámetros son :
c_excel es la ruta del archivo excel que se va a crear.
vFor almacena la rutina FOR que quiera usar para discriminar que registros van y que registros no van al excel.
En resumen, esta función genera el archivo excel ,abre dicha aplicación y muestra el archivo creado.

PROCEDURE excel_auto
LPARAMETERS c_excel,vFor

*EXPORTAR TABLA A ARCHIVO excel
IF LEN(ALLTRIM(vFor))=0
COPY to "&c_excel" TYPE XL5
ELSE
COPY to "&c_excel" TYPE XL5 FOR &vFor
ENDIF

*abrirlo con excel
loXL = CreateObject("Excel.Application")
With loXL
.DisplayAlerts = .F. && Algo asi como SET SAFETY OFF
.Visible = .T. && Si deseas que el usuario interactue con Excel.
.Workbooks.Open("&c_excel")
.Range("A1").Select
ENDWITH
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
sin imagen de perfil

RE:Exportar a Excel

Publicado por Mario (6 intervenciones) el 06/05/2022 02:06:24
Buenas tardes guillermo, una consulta como realizo la funcion sum, para que me sume una columna determinada ejemplo:cantidades
por filas y columnas de acuerdo a la cantidad de registros, gracias bendiciones, ahi te envio un ejemplo
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
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:Exportar a Excel

Publicado por Fidel José (657 intervenciones) el 06/05/2022 23:33:06
Te paso un código algo adaptado que utilzo.
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
PROCEDURE excel_sumacolumn
*-----------------------------------------------------------
*!*	toSheet: 		Objeto Sheet de Microsoft Excel®
*!*	tnColum_Number:	Número de columna donde se quiere sumar
*!*	tnRow_First:	Primer fila de la suma
*!*	tnRow_last:		Fila donde va la fórmula suma
*!*	tcFontName:		Nombre de la Fuente
*!*	tnFontSize:		Tamaño de la Fuente
*-----------------------------------------------------------
*!*	Utiliza la función excel_columnNumber_to_letter()
*!*	para determinar la letra de la columna
*-----------------------------------------------------------
LPARAMETERS toSheet,;
	tnColumn_Number,;
	tnRow_First,;
	tnRow_last,;
	tcFontName,;
	tnFontSize
 
LOCAL lcLetra,;
	lcFuncion
 
	tcFontName = EVL(m.tcFontName,"Arial")
	tnFontSize = EVL(m.tnFontSize,8)
 
	* Determina la letra de la columna tnColumn_Number
	lcLetra = excel_columnNumber_to_letter(m.tnColumn_Number)
 
	* Escribe la función suma:
	lcFuncion="=Sum"+CHR(40) ;
			+ m.lcLetra+TRANSFORM(m.tnRow_First)+":";
			+ m.lcLetra+TRANSFORM(m.tnRow_Last-1);
			+ CHR(41)
 
 
	with toSheet.Cells(m.tnRow_Last,m.tnColumn_Number)
		.VALUE = m.lcFuncion
   		.FONT.NAME = tcFontName
		.FONT.SIZE = tnFontSize
	*	.FONT.BOLD=.T.
	ENDWITH
 
	toSheet = null
ENDPROC
 
PROCEDURE excel_columnNumber_to_letter
*---------------------------------------------------------
* Name: excel_ColumnNumber_to_Letter
* Microsoft Excel ®
* Transforma un número de columna en su valor alfabético
* RETORNA: Caracter
* --------------------------------------------------------
* Parameter tnColumn
* Mínimo: 1					"A"
* Máximo: 16384 ( 2 ^^ 14)	"XFD"
*---------------------------------------------------------
LPARAMETERS tnColumn
 
LOCAL lcChr,;
	lcString,;
	lnModif,;
	lnResto,;
	LOEX AS Exception
 
 
lcString=''
lnModif = 0
IF BETWEEN(m.tnColumn,1,16384)
	DO WHILE m.tnColumn > 0
		lnModif = 0
		lnResto = MOD(m.tnColumn,26)
		IF EMPTY(m.lnResto)
			lnREsto = 26
			lnModif = -1
		ENDIF
		tnColumn = INT(m.tnColumn / 26) + m.lnModif
		lcChr = CHR(m.lnResto + 64)
		lcString = m.lcChr + m.lcString
 
	ENDDO
ENDIF
 
RETURN m.lcString
ENDPROC
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