FoxPro/Visual FoxPro - Enviar a Excel ...

 
Vista:

Enviar a Excel ...

Publicado por Alejandro Arias (84 intervenciones) el 11/09/2002 19:35:50
Hola Amigos de foro,

Tengo un código que me envía información a Excel, pero se demora bastante. el código es el siguiente:

DIMENSION aV(3)
aV(1) = "Hoja1"
aV(2) = "Hoja2"
aV(3) = "Hoja3"
oleApp=CREATEOBJECT("Excel.Application")
oleApp.Workbooks.ADD
OLEI=oleApp.Workbooks.ITEM(1)
GO TOP
FOR j=1 TO FCOUNT()
OLEI.Sheets.ITEM(1).Cells(1,j).VALUE = FIEL(j)
NEXT

DO WHILE NOT EOF()
FOR i=1 TO FCOUNT()
mdato=FIEL(i)
OLEI.Sheets.ITEM(1).Cells(RECNO()+1,i).VALUE = &mdato
NEXT
SKIP
ENDDO
OLEI.Sheets(@aV).;
FillAcrossSheets(OLEI.Worksheets("Hoja1").Cells(1,1))
oleApp.VISIBLE = .T.

Agradezco que por favor me dijeran si hay una mejor opción. He visto que se puede dar formato a lo enviado a Excel Como se hace?

Atte,

Alejandro Arias
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:Enviar a Excel ...

Publicado por extremo (78 intervenciones) el 12/09/2002 00:42:27
hola

No se si lo que quieres es esto pero cuando necesito enviar una tabla a una planilla excell realizo lo siguiente

sele 0
use tabla
copy to planilla type xls
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

RE:Enviar a Excel ...

Publicado por Alejandro Arias (84 intervenciones) el 12/09/2002 16:12:59
Gracias por responderme.

Pero esto implica que uno no interactúe directamente con Excel. se necesita abrir el archivo generado en dos pasos.

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

RE:Enviar a Excel ...

Publicado por Rocco Di Chiara (43 intervenciones) el 12/09/2002 23:53:57
Efectivamente, ambos companeros tienen la solucion.

Trasladar registro por registro es muy lento, lo que yo hago es lo siguiente:
1. Primero genero un archivo dbf con los campos en el mismo orden en que deseo que aparescan las columnas en excel.
2. Exporto el archivo a excel (type elarchivo to otroarchivo type xls)
3. Luego genero el objeto excel
4. abro el archivo otroarchivo.xls
5. inserto formulas y formatos a nivel de columnas y no celda por celda, lo que lo hace mas rapido.
6. si necesito insertar lineas para agrupar la informacion, recorro todo el archivo temporal y hago las comparaciones sobre este, cuando encuentro que debo hacer una insercion de fila, la hago en la hoja de excel, pero no comparo las celdas de excel, sino que el archivo temporal. Para esto, necesito llevar un contador de filas pues voy insertando en la hoja de excel y se desincroniza con el numero de registros del archivo temporal.
7. luego pongo el encabezado
8. por ultimo defino parametros de impresion y todo eso y FIN.
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

RE:Enviar a Excel ...

Publicado por hitiel (4 intervenciones) el 30/07/2020 16:27:20
Buen día.
Tenés algun ejemplo de la automatización a Excel que haces desde VFP.
Me llamó la antención la forma en que lo explicas.
Podrías compartir el ejemplo. Gracias
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