FoxPro/Visual FoxPro - exportar cursor a openoffice

 
Vista:

exportar cursor a openoffice

Publicado por herrera rodrigo (29 intervenciones) el 17/08/2006 22:55:20
hola quisiera me ayudaran con el codigo necesario para crear un archivo openoffice ya que queremos dejar de lado excel, actualmente genero un archivo excel de la siguiente forma:

oexcel=createobject('excel.application')
oexcel.application.visible=.f.
oexcel.application.StandardFontSize=7
oexcel.application.workbooks.add()
oexcel.application.rows(1).font.size=9
oexcel.application.rows(1).font.bold=.t.

oexcel.application.columns(01).columnwidth=05.00
oexcel.application.columns(02).columnwidth=46.00

oexcel.application.cells(3,02).font.bold=.t.
oexcel.application.cells(3,02).font.size=11
oexcel.application.cells(3,02).value="RESUMEN DE ASISTENCIA"

*---------------------------------------------------------------------------------
Select Detalle
Go top
do while !eof()
Wait "Generando Excel" window nowait noclear
I=I+1
Select detalle
DO while contadorD<=xnumcol
oexcel.application.cells(I,1).value=detalle.ficha
oexcel.application.cells(I,2).value=Left(detalle.nombre,45)

select detalle
skip
enddo
enddo


Cualquier ayuda al respecto muchas 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
sin imagen de perfil

RE:exportar cursor a openoffice

Publicado por Ernesto Hernandez (4623 intervenciones) el 18/08/2006 01:02:52
necesitarias sabes las instrucciones que se utilizan en el OpenOffice para poder realizarlo
pero hasta donde se no
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:exportar cursor a openoffice

Publicado por Plinio (7841 intervenciones) el 18/08/2006 01:21:17
No conozco OpenOffice, pero este tambien puede automatizarse:

1- Puedes bajar el api de Open office
http://api.openoffice.org/
2- Fijate en el codigo de VFP

http://www.tedroche.com/Present/VFPOOoAutomation.htm
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:exportar cursor a openoffice

Publicado por rodrigo herrera (29 intervenciones) el 18/08/2006 15:53:03
Hola amigos Otra consulta, Que otra alternativa tengo para poder generar un archivo que se pueda utilizar con excel o calc de openoffice, que funcione como hoja de calculo.


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
sin imagen de perfil

RE:exportar cursor a openoffice

Publicado por Ernesto Hernandez (4623 intervenciones) el 18/08/2006 17:23:13
Echale una hoejada a este articulo

Como automatiza una hoja de calculo de Microsoft Excel desde Visual FoxPro

En esta sencilla guía en la que encontrara tips básicos para automatizar una hoja de cálculo, muchas veces nos hemos encontrado con la necesidad de crear desde los datos de nuestra aplicación un documento para un usuario, y por lo general siempre se utiliza Excel.

Creación de la hoja de calculo

Para poder acceder a Excel desde Fox primero tenemos que crear un objeto el cual podamos manipular a nuestro antojo.

tmpsheet = GetObject('','excel.sheet')

Luego hacemos una referencia a la aplicación, la cual nos permitirá manipular características de Excel como por ejemplo que no muestre las líneas de división de celdas

XLApp = tmpsheet.application

XLApp.ActiveWindow.DisplayZeros = .f. &&No muestra las celdas en valor 0
XLApp.ActiveWindow.DisplayGridlines = .f. &&No muestra las líneas de división
XLApp.Visible = .t. &&Aplicacion visible
XLApp.WorkBooks.Add() &&Agrega una Hoja de calculo

Luego de agregar una hoja de calculo creamos una referencia a esta

XLSheet = XLApp.ActiveSheet

Ahora podemos manipular la hoja de calculo a nuestras necesidades.

Manipularon de la hoja de calculo

Insertar una imagen: muchas veces en nuestras hojas de calculo queremos o necesitamos inserta una imagen como por ejemplo el logo de la compañía o etc. Esto se hace de la siguiente manera

XLSheet.Pictures.Insert(FULLPATH("bmp\logo.bmp")) .name="Picture 1"

XLSheet.Pictures.Insert(“c:\aplicacion\bmp\logo.bmp") .name="Picture 1"

En el anterior ejemplo insertamos una imagen, en el primer objeto le decimos a Fox que retorne la ruta completa de una imagen partir de una ruta relativa, en el segundo ejemplo asignamos la ruta de la imagen, también asignamos un nombre al objeto y así podemos cambiar las características del objeto como por ejemplo el ancho

XLSheet.Shapes("Picture 1").Width=100

Combinar celdas: Para combinar celdas podemos especificar un rango de celdas asi

XLSheet.Range("F1:J1").Merge

Cambiar el formato: primero necesitamos especificar el rango de celdas a las cuales les deceamos cambiar el formato, podemos utilizar el comando WITH de Fox asi:

WITH XLSheet.Range("F1:J1")
.Merge
.value='EL TEXTO QUE DESEAMOS MOSTRAR'
.HorizontalAlignment=xlCenter &&Aliniar al centro *
.VerticalAlignment=xlCenter
.Font.Bold=.t.
.Font.Size=14
.Font.Name=’Arial’
ENDWITH

• Las constantes de Excel estan al final de la Guía.

Cambiar el tamaño de una fila:

XLSheet.Rows(4).RowHeight=20

Cambiar el tamaño de una columna:

XLSheet.Columns("A:A").ColumnWidth=19.57

Ajustar el tamaño a todas las columnas:

XLSheet.Columns().AutoFit

Insertar filas:

XLSheet.Rows("1:1").Insert

Bordes: Una forma de insertar bordes es especificar un rango y luego ajustar sus propiedades según nuestras necesidades asi:

WITH XLSheet.Range("A4:Q4")
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
.Borders(xlInsideVertical).LineStyle = xlContinuous
.Borders(xlInsideVertical).Weight = xlThin
.Borders(xlInsideVertical).ColorIndex = xlAutomatic
ENDWITH

O también asi:

WITH XLSheet.Range("A4:Q4").Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
ENDWITH

Cambiar el color de varias columnas:

XLSheet.Range("H:H;J:J;L:L;N:N;P:P").Font.ColorIndex=42

Formato numero:

XLSheet.Columns("E:Q").NumberFormat = "#,##0"

Configurar el area y formato de impression:

WITH XLSheet.PageSetup
.PrintArea = "$A:$Q" &&Area de Impresion
.PrintTitleRows = "$1:$4" &&Filas como titulo
.PrintTitleColumns = ""
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = "&D &T" &&Pie de pagina fecha y hora
.CenterFooter = ""
.RightFooter = "&P" &&Pie de pagina izquierdo Numero pagina

*Margenes
.LeftMargin = XLApp.InchesToPoints(0.393700787401575)
.RightMargin = XLApp.InchesToPoints(0.393700787401575)
.TopMargin = XLApp.InchesToPoints(0.393700787401575)
.BottomMargin = XLApp.InchesToPoints(0.393700787401575)
.HeaderMargin = XLApp.InchesToPoints(0)
.FooterMargin = XLApp.InchesToPoints(0)

.PrintHeadings = .f.
.PrintGridlines = .f.
.PrintComments = xlPrintNoComments

* Centrar area
.CenterHorizontally = .t.
.CenterVertically = .f.

.Orientation = xlLandscape
.Draft = .f.
.PaperSize = xlPaperLegal
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = .f.

*Imprimir a un %
.Zoom = 80
ENDWITH

Una forma practica a un que poco ortodoxa de manejar las propiedades y métodos de Microsoft Excel es haciendo una macro en Excel y Observa su codigo. Unas equivalencias en codigo son:

Macro de Excel En Fox
Range("B3:H21").Select XLSheet.Range("A4:Q4")
Selection.NumberFormat = "#,##0.00" XLSheet.Range("A4:Q4").NumberFormat = "#,##0.00"
ActiveWindow XLApp.ActiveWindow

Constantes de Microsoft Excel
Las constantes de Excel pueden ser guardadas en un archivo .H como por ejemplo XLS.H, e integrarlas a nuestros programas con #INCLUDE XLS.H, las constantes son:

* Colors
#DEFINE xlColorRojo 3
#DEFINE xlColorAzul 47

* Constants
#DEFINE xlDialogSetBackgroundPicture 492
#DEFINE xlDialogAutoCorrect 485
#DEFINE xlDialogFileSharing 481
#DEFINE xlDialogVbaMakeAddin 478
#DEFINE xlDialogActiveCellFont 476
#DEFINE xlDialogFindFile 475

Suerte
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:exportar cursor a openoffice

Publicado por rodrigo herrera (29 intervenciones) el 18/08/2006 17:29:55
gracias, pero se generar un archivo excel con formato, lo que quiero es poder generar una hoja de calculo sin necesidad de tener instalado excel de hecho no vamos a comprar las licencias si encontramos otra alternativa con software libre.
Esa es mi consulta tengo alguna alternativa generando otro tipo de archivo xml por 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

RE:exportar cursor a openoffice

Publicado por Ernesto Hernandez (4623 intervenciones) el 18/08/2006 17:42:11
una hoja de calculo sin necesidad de tener instalado excel

Hasta donde se
Eso no seria posible

Seria como generar codigo de VFP sin tener instalado VFP .. donde lo voy a ejecutar ??
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:exportar cursor a openoffice

Publicado por Victor Muñoz (1 intervención) el 27/11/2017 18:59:14
Si se puede, pero si o sí, hay que instalar OpenOffice, para que se instale la API.
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