De Reporte a Excel

1,674 views
Skip to first unread message

rjh71

unread,
Nov 25, 2010, 12:43:20 AM11/25/10
to Comunidad de Visual Foxpro en Español
Saludos y bendiciones y buenos días,
les pido una ayuda foro,
como puedo hacer para que mi reporte salga a excel.
gracias de antemano.
rudolf heiner.

rjh71

unread,
Nov 25, 2010, 12:52:30 AM11/25/10
to Comunidad de Visual Foxpro en Español
Trabajo con visual foxpro v.9 y server pack 2 bajo windows 7 y
microsoft office 2007,
a ver si me pueden ayudar porfavor.

Walter R. Ojeda Valiente

unread,
Nov 25, 2010, 12:59:23 AM11/25/10
to publice...@googlegroups.com
Hola rudolf

Hay varias opciones, la más aconsejada es que uses Foxypreviewer, su autor es César Chalom y él continuamente escribe en este grupo, además varios miembros también lo están usando (al Foxy, no al César, aclaro), así que si tienes algunas dudas o preguntas se te podrá responder rápidamente.

No solamente podrás exportar tu informe a Excel, también a PDF, RFF, HTML y podrás enviarlo por e-mail.

Saludos.

Walter.

Walter R. Ojeda Valiente

unread,
Nov 25, 2010, 1:00:41 AM11/25/10
to publice...@googlegroups.com
Me olvidé de ponerte el enlace al FoxyPreviewer, aquí va:

http://weblogs.foxite.com/vfpimaging/archive/2010/02/28/10127.aspx

Saludos.

Walter.

Rudolf Johann Heiner

unread,
Nov 25, 2010, 1:03:19 AM11/25/10
to publice...@googlegroups.com
ok gracias, pero ya le envie mi sistema a cesar,
lo que pasa es que mi sistema esta hecho para uso dental y tiene varios reportes con graficos,
y no funciona bien con el foxy,
no se que hacer si habra otra alternativa se te agradecera,
saludos,
rudolf heiner.

Walter R. Ojeda Valiente

unread,
Nov 25, 2010, 1:07:52 AM11/25/10
to publice...@googlegroups.com
Hola rudolf

¿Y automatización con Excel no te sirve?

Si los informes son pocos, deberías considerar esa alternativa.

Saludos.

Walter.

Rudolf Johann Heiner

unread,
Nov 25, 2010, 1:10:08 AM11/25/10
to publice...@googlegroups.com
Hola walter,
dime tienes un ejemplo para poderlo aplicar al sistema con automatización,
saludos,
rudolf heiner.

Walter R. Ojeda Valiente

unread,
Nov 25, 2010, 1:25:08 AM11/25/10
to publice...@googlegroups.com
Hola rudolf

No para enviar gráficos, hasta ahora no hice eso, pero sí para enviar datos, eso hago frecuentemente (hoy mismo hice dos planillas así, sin ir más lejos).

Si te va a servir, me avisas.

Saludos.

Walter.

Rudolf Johann Heiner

unread,
Nov 25, 2010, 1:29:58 AM11/25/10
to publice...@googlegroups.com
Hola walter,
si me puedes ayudar para enviar datos, te lo gradeceria,
saludos,
rudolf heiner.
 

Walter R. Ojeda Valiente

unread,
Nov 25, 2010, 2:06:39 AM11/25/10
to publice...@googlegroups.com
Hola rudolf

Mi manera de trabajar es la siguiente:

1. Entro en Excel y creo una planilla modelo, con todos los títulos, bordes, colores, tipos de letra, tamaños de letra, etc. que quiero. Es decir, hago un modelo, un armazón de la planilla.
2. En mi programa copio esa planilla modelo a otra planilla, que será la que verá el usuario.
3. Envío datos a cada una de las celdas.
4. Le muestro al usuario la planilla creada.

Para copiar la planilla modelo a otra planilla:

lcNombrePlanilla = "MiPlanilla.xls"
COPY FILE ModeloBalanceGeneral.xls to &lcNombrePlanilla

Para enviar datos a cada una de las celdas:

  lcRutinaError = On("ERROR")
 
  lnNumError = 0

  on Error lnNumError = Error()

  oExcel = GetObject(lcNombrePlanilla)
 
  on Error &lcRutinaError
 
  if lnNumError == 0     && Si se pudo abrir EXCEL
    with oExcel.Application
      .Visible  = .F.
      .Application.WorkBooks.Open(lcNombrePlanilla)
      .Cells(5, 2).Value = "Visual FoxPro"
      .Cells(7, 5).Value = 123456
      .Visible = .T.
    endwith
  else
    =MessageBox("No se pudo abrir EXCEL")
  endif

Muchas veces la asignación de valores a las celdas está dentro de un ciclo do while o scan.

Si quieres cambiar el tipo de letra, tamaño de las letras, etc. de una celda, también puedes hacerlo:

.Cells(5, 2).Font.Name = "Arial"
.Cells(5, 2).Font.Size = 20
.Cells(5, 2).Font.Bold = .T.

Las tres líneas anteriores debes escribirlas dentro del with oExcel.Application.

También puedes cambiar los colores, las tramas, poner bordes, etc.

Pero hasta ahora no probé insertar un gráfico.

Saludos.

Walter.

Rudolf Johann Heiner

unread,
Nov 25, 2010, 2:20:10 AM11/25/10
to publice...@googlegroups.com
Gracias walter lo tomare en consideracion,
gracias por la ayuda,
que tengas buen dia o buenas noches,
saludos,
rudolf heiner.

Luis Maria Guayan

unread,
Nov 25, 2010, 7:13:05 AM11/25/10
to publice...@googlegroups.com
Utiliza FoxyPreviewer

http://foxypreviewer.codeplex.com/


Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

 

Pedro Orlando Cardoza Padilla

unread,
Nov 25, 2010, 9:56:28 AM11/25/10
to publice...@googlegroups.com


Hola Rudolf Johann Heiner
Yo tengo una clase que baje de la web y la he ido mejorando esta sirve para crear un reporte en excel con los datos de tu tabla.
puedes exportar hasta 702 campos.
Agregar Foramto a las celdas, Color de letra y fondo,
puedes agregarle titulos, nombre de la empresa etc.

lo unico q tines que hacer es Copiar el prg. en tu proyecto.
luego desde el prg principal copia
SET PROCEDURE TO archivo.prg ADDITIVE

y desde el form.

llama a la funcion que esta en el archivo export.

ExportExcel("Nombre de la tabla","Titulo1","Titulo2","Titulo3")

Te recomiendo trabajes con cursores
Eje.
Select campos from tutabla into cursor cTemp.




export.prg
Reply all
Reply to author
Forward
0 new messages