con esta rutina he logrado ya automatizar la generaciond e una hoja de calculo en Libreoffice
y funciona perfecto
en el boton imprimir
do openoffice()
poncelda(3,10,"Reporte de Ventas")
poncelda(3,11,"Enero")
poncelda(3,12,"Febrero")
poncelda(3,13,"Marzo")
poncelda(4,11,1000)
poncelda(4,12,2000)
poncelda(4,13,1800)
proc openoffice
oServOO = CREATEOBJECT("Com.Sun.Star.ServiceManager.1")
oPlatOO = oServOO.CreateInstance("com.sun.star.frame.Desktop")
oReflectX = oServOO.createInstance("com.sun.star.reflection.CoreReflection")
oValorP = CREATEOBJECT("Relation")
oReflectX.forName("com.sun.star.beans.PropertyValue").CreateObject(@oValorP)
DIMENSION aProp(1)
aProp[1] = oValorP
aProp[1].Name = "ReadOnly"
aProp[1].Value = .F.
oDoc = oPlatOO.LoadComponentFromURL("private:factory/scalc", "_blank", 0, @aProp)
oHoja = oDoc.getSheets.getByIndex(0)
enproc
procedure poncelda
lpara kfil,kcol, kval
oCelda = oHoja.getCellByPosition(kcol-1,kfil-1)
oDoc.CurrentController.Select(oCelda)
oDoc.CurrentSelection.formula =kval
endproc
Código provisto por Milton y Carlos Alfaro