Newsgroup: it.comp.lang.delphi
Titolo: Componenti Turbo Office partner

Salve a tutti. Mi chiedevo se qlc ha avuto modo di provare questi componenti 
opensource reperibili su: 
http://sourceforge.net/projects/tpofficepartner/
Sto usando il componente TopExcel in una mia applicazione di cui allego il 
codice incriminato.
procedure esportaexcel;
var
newwb:TopExcelWorkBook;
r:TopExcelRange;
riga, n, t:integer;
begin
with mainform do
begin
excel.Connected:=true; //Apri l'applicazione Excel
excel.Visible:=true; //rendila visibile
newwb:=excel.Workbooks.Add; //aggiungi un documento vuoto
excel.Workbooks[0].Worksheets.add; //aggiungi un foglio dati
t:=griglia.Items.Count-1; //quante righe della griglia da esportare in 
excel?
r:=excel.Workbooks[0].Worksheets[0].Ranges.add; //aggiungi un range di 
riferimento alle celle
r.Address:='A1'; //indirizzo della cella
r.SimpleText:='Report stampato il: '+datetimetostr(now); //scrivi testo 
nella cella di Excel
r.FontSize:=16; //imposta font size
r.FontAttributes:=[xlfabold];
r.Address:='A2'; //passa alla prossima cella
r.ColumnWidth:=15; //larghezza della colonna A
r.SimpleText:='Veicolo'; // testo
...
riga:=3;
for n:=0 to t do
begin
//r.AsRange.NumberFormat:='[red][<=0];[Black][>0]';
r.Address:='A'+inttostr(riga);
r.Value:=griglia.Items.Item[n].SubItems[2];
...
inc(riga);
end;
end;
L'errore arriva quando levo il commento alla riga dopo il begin della for.
La riga dovrebbe impostare il colore del font a rosso se il valore è 
negativo o zero, oppure nero.
Ma non c'è verso.
Gli unici comandi che funzionano sono quelli per impostare il format dei 
numeri e delle posizioni decimali ('####,##', ecc.).
Nel corposo file di help allegato c'è un esempio che ho testato pari pari, 
ma, niente da fare. Continua l'eccezione: Impossibile settare la proprietà 
numberformat.
Grazie dell'attenzione e... della pazienza.
Gennaro 

 numberformat.
Vedi il problema di fondo è che turbopower ha terminato lo sviluppo di 
questi pacchetti software un po' di anni fa.. e nel frattempo le 
versioni di office si sono susseguite, e sicuramente il codice che 
andava bene anni fa oggi va rivisto.. A questo punto, ti propongo di 
cercare componenti piu' aggiornati, partendo da google
http://www.google.it/search?hl=it&q=delphi+excel+automation
oppure adando direttamente al sito piu' conosciuto, torry. 
(
http://www.torry.net/pages.php?id=551
 ad esempio..)
-- 
Morde

...
Ciao,
prova a spostare la riga commentata dopo r.Value ..., praticamente prima
valorizzi la cella e poi cambi gli attributi. A me è successo una cosa del
genere, ho risolto dopo varie prove nel modo che ti ho detto.
Ciao da Enrico Giudici c/o Icograf
--- posted by geoForum on 
http://www.delphiedintorni.it

Ciao,
   ci sono diversi componenti per delphi che possono esportare/importare da 
excell.
Dopo averne visti un paio, secondo me, quello piu' veloce da comprendere, 
facile nell'utilizzo e' il flexcell della tms softtware 
(
www.tmssoftware.com
).
Se poi stai lavorando con delle griglie (stringgrid), le loro hanno una 
funzione nativa per esportare il contenuto della griglia in diversi formati, 
compreso excell.
Pero' non sono free, sono a pagamento ....., ma se poi tu rivendi il 
software 50-70 euro li recuperi subito.
Ciao, Daniele

 (
www.tmssoftware.com
).
Mhhh... brutti ricordi, nel 2002 acquistai da loro tutta la suite anche 
se in realtà mi serviva solo il componente HotSpot... il budget del 
progetto era ricco e mi sono fatto prendere la mano dalle apparenze 
tradendo la mia vena minimalista.
Il componente aveva parecchi bug, purtroppo risolti solo con workaround 
perchè la loro assistenza ha sempre negato la loro esistenza... "can't 
reproduce your problem..." "your sample project works...".
Le griglie sono bellissime e molto versatili ma anche maledettamente 
barocche e schifosamente lente.
In soldoni ho abbandonato pian piano tutti i componenti della suite che 
avevo cominciato ad usare.
Tornando IT, per esportare verso excel (e non solo) utilizzo da tempo 
SMExport che può essere utilizzato via OLE o senza (sempre usato il 
secondo). Non che sia privo di buchetti ma almeno non negano e si danno 
da fare velocemente per risolvere.
-- 
For a list of all the ways technology has failed to improve the quality 
of life, please press three.
(C) Alice Kahn

 fare velocemente per risolvere.
Non sapevo della loro esistenza, ora googlo un po vedo come sono !!!!
Alla prossima !!!
Ciao, Daniele 

 ha scritto nel messaggio 
news:497b9856$0$1112$4faf...@reader2.news.tin.it...


 negativo o zero, oppure nero.
Dalla guida di VB di excel vedo che:
Worksheets("Sheet1").Columns("C").NumberFormat = "$#,##0.00_);[Red]
($#,##0.00)"
che sul mio excel va in errore. Accetta, però, quanto segue: $#,##0.00;
[Rosso]($#,##0.00) dato direttamente in Excel. L'help di excel riporta
poi:
"Tali codici, separati da punti e virgole, definiscono i formati di
numeri positivi, numeri negativi, valori pari a zero e testo, in
quest'ordine. Se si specificano solo due sezioni, la prima verrà
utilizzata per i numeri positivi e i valori pari a zero, mentre la
seconda verrà utilizzata per i numeri negativi. Se si specifica una
sola sezione, questa verrà utilizzata per tutti i numeri. In caso di
omissione di una sezione, includere un punto e virgola finale per tale
sezione." La figura successiva è chiarificatrice.
Ovvero: sei sicuro che il formato che hai specificato sia accettabile?
Inoltre, potrebbe valer la pena (forse) di fare un cast esplicito a
str2ole o qualcosa di simile.
Saluti
Paolo Arosio

 negativo o zero, oppure nero.
Dalla guida di VB di excel vedo che:
Worksheets("Sheet1").Columns("C").NumberFormat = "$#,##0.00_);[Red]
($#,##0.00)"
che sul mio excel va in errore. Accetta, però, quanto segue: $#,##0.00;
[Rosso]($#,##0.00) dato direttamente in Excel. L'help di excel riporta
poi:
"Tali codici, separati da punti e virgole, definiscono i formati di
numeri positivi, numeri negativi, valori pari a zero e testo, in
quest'ordine. Se si specificano solo due sezioni, la prima verrà
utilizzata per i numeri positivi e i valori pari a zero, mentre la
seconda verrà utilizzata per i numeri negativi. Se si specifica una
sola sezione, questa verrà utilizzata per tutti i numeri. In caso di
omissione di una sezione, includere un punto e virgola finale per tale
sezione." La figura successiva è chiarificatrice.
Ovvero: sei sicuro che il formato che hai specificato sia accettabile?
Inoltre, potrebbe valer la pena (forse) di fare un cast esplicito a
str2ole o qualcosa di simile.
Saluti
Paolo Arosio
<Che Excel in italiano accetti i nomi dei colori in tale lingua?>
<In effetti, se uso solo i simboli $ e # non ci sono errori>
<Proverò anche questa strada...>
<Grazie paolo>