dati da excel di openoffice

Moderator: Enrico Maria Giordano

Post Reply
Romeo
Posts: 328
Joined: Thu Jan 25, 2007 3:53 pm
Location: Milan (Italy)

dati da excel di openoffice

Post by Romeo »

CIao,

avevo recuperato in giro una programmino con il quale riuscivo a recuperare i dati da un foglio excel di Microsoft)

Ora pero' volevo recuperare i dati da un foglio excel di OpenOffice. Ma lo stesso programma non funziona.
Avete qualcosa su cui "spataccare" ?

Grazie

Romeo/Zingoni
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: dati da excel di openoffice

Post by Enrico Maria Giordano »

Qualche linea di codice:

Code: Select all

oSrvMan  = CREATEOBJECT( "com.sun.star.ServiceManager" )
oDesktop = oSrvMan:CreateInstance( "com.sun.star.frame.Desktop" )

oDoc = oDesktop:LoadComponentFromURL( "private:factory/scalc", "_blank", 0, {} )

oSheet = oDoc:GetSheets():GetByIndex( 0 )

? oSheet:GetCellByPosition( 0, 0 ):GetString
EMG
Romeo
Posts: 328
Joined: Thu Jan 25, 2007 3:53 pm
Location: Milan (Italy)

Re: dati da excel di openoffice

Post by Romeo »

Grazie,
Ho provato ma canno da qualche parte.

Il mio file di excel di openoffice, che si chiama pippo.ods

Intanto dove fa messo nella tua procedura ?
Xche' io devo prendere dei dati da un foglio excel di openoffice GIA' ESISTENTE.


Romeo/Zingoni
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: dati da excel di openoffice

Post by Enrico Maria Giordano »

Purtroppo non ho altri esempi. Guarda anche nel sorgente xbrowse.prg oppure cerca su Internet.

EMG
Romeo
Posts: 328
Joined: Thu Jan 25, 2007 3:53 pm
Location: Milan (Italy)

Re: dati da excel di openoffice

Post by Romeo »

Salve,

partendo da un esempietto di EMG e manipolandolo, qualcosa ho combinato.
...
... minimizzando il problema:

oSrvMan = CREATEOBJECT( "com.sun.star.ServiceManager" )
oDesktop = oSrvMan:CreateInstance( "com.sun.star.frame.Desktop" )

aProp:={}
aadd(aProp,GetPropertyValue(oSrvMan,"Hidden",.t.))

oDoc = oDesktop:LoadComponentFromURL("file:///c:/pippo.ods", "_blank",0, aProp)

oSheet = oDoc:GetSheets():GetByIndex( 0 )

miocampo=oSheet:GetCellByPosition( 0, 0 ):GetString
.
.
.
fine programma
....
Se clicco ora su Open Office, non parte perche' e' rimasto aperto, anche se invisibile, con il file pippo.ods aperto.

Come si fa a chiuderle OpenOffice e quindi liberare anche pippo.ods con fivewin/harbour ?

Ho provato con quit(), end() ecc agendo su: osheet, oDoc, oDesktop, oSrvMan ma mi da sempre errore.

Grazie
Romeo ZIngoni
Post Reply