Exportar a openoffice

Quiero decirte que tu información me ha servido para mi crecimiento de conocimientos de visual fox, el cual trabajo desde hace años.
Estoy trabajando informes y los estoy exportando a excel y ya puedo darle ciertas configuraciones a la hoja de excel desde visual fox. Mi pregunta es ...
¿Podria yo hacer lo mismo con openoffice desde visual?
Si tu respuesta es positiva, agradezcote me facilites algun ejemplo que tengas para poder guiarme.

1 respuesta

Respuesta
1
Hola, estuve corriendo el ejemplo que me enviastes pero tuve varios inconvenientes; el comando comaray no lo puedo correr por que estoy en la version 5.0 de vfp y no lo tiene referenciado, comentarie eso y seguí tratando pero al correrlo dice que no reconoce la definicion de clase .
mira, tengo este que me ayuda a abrir excel desde vfp, intenté reemplazar codigo y adpatarlo a scal de openoffice pero no he podido. Me puedes dar alguna luz con esta codificacion ??
procedure exporta_excel
Set Safety Off
Wait Window Nowait "Por favor espere, enviando datos a Excel..."
lnTotal = Reccount()
oExcel = Createobject("Excel.application")
With oExcel
.Visible = .T.
oMasterWorkBook = .workbooks.Add && Add a new workbook
lnMaxRows = .ActiveWorkBook.ActiveSheet.Rows.Count && Get max row count
lnNeededSheets = Ceiling( lnTotal / (lnMaxRows - 1) ) && 1 row header
lnCurrentSheetCount = .sheets.Count
oExcel.ActiveWindow.DisplayZeros = .f. &&No muestra las celdas en valor 0
If lnNeededSheets > lnCurrentSheetCount
.sheets.Add(,.sheets(lnCurrentSheetCount),lnNeededSheets - lnCurrentSheetCount) && Add new sheets after old ones
Endif
Endwith
endproc
¿Tienes bien instalado el openOffice en la pc que estas haciendo la prueba?, ¿Y qué definición de clase no te acepta?
Hola Davsoft, encontré un codigo que me esta funcionando y te lo anexo aqui para que lo mires. Si tengo alguna duda te comento
*** Here is a very similar Visual FoxPro - Open Office example that.....
*** 1. Creates an OOo Calc spreadsheet
*** 2. Puts some strings into it.
*** 3. Puts some numbers into it.
*** 4. Puts some dates into it (as formulas)
*** 5. Saves it in Calc format (as C:\Example.sxw)
*** 6. Saves it in Excel format (as C:\Example.xls)
*** 7. Closes the document -- but this line is commented to leave the spreadsheet open in OOo
*** Code:
VfpOOoCalcExample()
PROCEDURE VfpOOoCalcExample()
* Create a spreadsheet.
LOCAL oDoc
oDoc = OOoOpenURL( "private:factory/scalc" )
* Get first sheet
LOCAL oSheet
oSheet = oDoc.getSheets().getByIndex( 0 )
*-----
* Put some sales figures onto the sheet.
oSheet.getCellByPosition( 0, 0 ).setString( "Month" )
oSheet.getCellByPosition( 1, 0 ).setString( "Sales" )
oSheet.getCellByPosition( 2, 0 ).setString( "End Date" )
oSheet.getCellByPosition( 0, 1 ).setString( "Jan" )
oSheet.getCellByPosition( 0, 2 ).setString( "Feb" )
oSheet.getCellByPosition( 0, 3 ).setString( "Mar" )
oSheet.getCellByPosition( 0, 4 ).setString( "Apr" )
oSheet.getCellByPosition( 0, 5 ).setString( "May" )
oSheet.getCellByPosition( 0, 6 ).setString( "Jun" )
oSheet.getCellByPosition( 0, 7 ).setString( "Jul" )
oSheet.getCellByPosition( 0, 8 ).setString( "Aug" )
oSheet.getCellByPosition( 0, 9 ).setString( "Sep" )
oSheet.getCellByPosition( 0, 10 ).setString( "Oct" )
oSheet.getCellByPosition( 0, 11 ).setString( "Nov" )
oSheet.getCellByPosition( 0, 12 ).setString( "Dec" )
oSheet.getCellByPosition( 1, 1 ).setValue( 3826.37 )
oSheet.getCellByPosition( 1, 2 ).setValue( 3504.21 )
oSheet.getCellByPosition( 1, 3 ).setValue( 2961.45 )
oSheet.getCellByPosition( 1, 4 ).setValue( 2504.12 )
oSheet.getCellByPosition( 1, 5 ).setValue( 2713.98 )
oSheet.getCellByPosition( 1, 6 ).setValue( 2448.17 )
oSheet.getCellByPosition( 1, 7 ).setValue( 1802.13 )
oSheet.getCellByPosition( 1, 8 ).setValue( 2203.22 )
oSheet.getCellByPosition( 1, 9 ).setValue( 1502.54 )
oSheet.getCellByPosition( 1, 10 ).setValue( 1207.68 )
oSheet.getCellByPosition( 1, 11 ).setValue( 1819.71 )
oSheet.getCellByPosition( 1, 12 ).setValue( 986.03 )
oSheet.getCellByPosition( 2, 1 ).setFormula( "=DATE(2004;01;31)" )
oSheet.getCellByPosition( 2, 2 ).setFormula( "=DATE(2004;02;29)" )
oSheet.getCellByPosition( 2, 3 ).setFormula( "=DATE(2004;03;31)" )
oSheet.getCellByPosition( 2, 4 ).setFormula( "=DATE(2004;04;30)" )
oSheet.getCellByPosition( 2, 5 ).setFormula( "=DATE(2004;05;31)" )
oSheet.getCellByPosition( 2, 6 ).setFormula( "=DATE(2004;06;30)" )
oSheet.getCellByPosition( 2, 7 ).setFormula( "=DATE(2004;07;31)" )
oSheet.getCellByPosition( 2, 8 ).setFormula( "=DATE(2004;08;31)" )
oSheet.getCellByPosition( 2, 9 ).setFormula( "=DATE(2004;09;30)" )
* Note that these last three dates are not set as DATE() function calls.
oSheet.getCellByPosition( 2, 10 ).setFormula( "10/31/2004" )
oSheet.getCellByPosition( 2, 11 ).setFormula( "11/30/2004" )
oSheet.getCellRangeByName( "C13" ).setFormula( "12/31/2004" )
*-----
* Format the date cells as dates.
oFormats = oDoc.getNumberFormats()
oLocale = OOoCreateStruct( "com.sun.star.lang.Locale" )
* com.sun.star.util.NumberFormat.DATE = 2
nDateKey = oFormats.getStandardFormat( 2, oLocale )
oCell = oSheet.getCellRangeByName( "C2:C13" )
oCell.NumberFormat = nDateKey
LOCAL ARRAY aOneArg[1]
LOCAL cFile, cURL
* cFile = GetDesktopFolderPathname()+"example"
cFile = "c:\example"
* Now save the spreadsheet.
cURL = OOoConvertToURL( cFile + ".sxw" )
aOneArg[1] = OOoMakePropertyValue( "Overwrite", .T. )
oDoc.storeToUrl( cURL, @ aOneArg )
* Now save it as Excel
cURL = OOoConvertToURL( cFile + ".xls" )
aOneArg[1] = OOoMakePropertyValue( "FilterName", "MS Excel 97" )
oDoc.storeToUrl( cURL, @ aOneArg )
* Close the document.
* oDoc.close( 1 ) && TRUE
ENDPROC

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas