Vecchi amori (PEAR SpreadSheet_Excel_Writer)

January 29, 2009
By

Per un cliente ho dovuto rivangare le mie conoscenze di succitata libreria.
Va da sé che ho perso di nuovo un pomeriggio a sistemare il file di uscita per Excel. Open office lo digeriva senza fare una piega, mentre il prodotto WinBlows continuava a lamentarsi per la «Possibile perdita di dati».

Il lavoro consiste nell’andare su un sito tramite curl, raccogliere i cookie necessari a non essere sbattuti fuori, richiedere 2 files xml, farne il parsing e sbatterne quinid i valori in un file xls di tre fogli, con i dati splittati secondo un certo criterio.

Alla fine ho risolto modificando un loop:

i due ultimi fogli sono lo split del secondo file xml in due fogli diversi in base ad un criterio. Il problema con Excel sorgeva perché nell’iteratore (un for each) nel caso della prima riga scrivevo oltre alla prima riga stessa i nomi di colonna in riga 0. Ovviamente scrivevo lo stesso nome di colonna su entrambi i fogli con due chiamate distinte, ma nello stesso blocco if (i fogli hanno gli stessi nomi di colonna: sono divisi tipo per «in» «out»)

tipo:

if($rigaAttuale=1){
$worksheetB->write(0,$colonnaAttualeA,$chiave,$format_title);
$worksheetC->write(0,$colonnaAttualeA,$chiave,$format_title);
}

Alla fine ho risolto così:

if($rigaAttuale=1){
if($in){
$worksheetB->write(0,$colonnaAttualeA,$chiave,$format_title);
} elseif($out){
$worksheetC->write(0,$colonnaAttualeA,$chiave,$format_title);
}
}

e tutti sono contenti.

Di come sono riuscito a fare ‘sta cosa tramite curl ne scrivo fra un po’: è una cosa della quale sono abbastanza fiero, anche se in realtà si tratta di un caso di RTFM’ing ben riuscito 🙂

Tags: , , ,

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

ERRORE: il plugin si-captcha.php informa che il supporto GD image non é stato rilevato in PHP!

Contatta il tuo fornitore del servizio di hosting e domada perché il supporto GD image non sia stato abilitato per il PHP.

ERRORE: il plugin si-captcha.php informa che la funzione imagepng non é stata rilevata in PHP!

Contatta il tuo fornitore del servizio di hosting e domada perché la funzione imagepng non sia stata abilitata per il PHP.