Corsi on-line

Conversione rapida da CSV a XLS con PHP

Come giustamente sottolineato da Max in un precedente articolo dedicato a PHPExcel, quest’ultima non può essere certamente considerata una libreria particolarmente intuitiva dal punto di vista dell’utilizzatore; è comunque da sottolineare che molte delle operazioni effettuate più frequentemente dagli sviluppatori PHP per la manipolazione di file XLS potranno essere eseguite attraverso di essa digitando poche righe di codice.

PHPExcelAbbiamo già analizzato la procedura necessaria per la creazione di un file di Excel con PHPExcel, ora descriveremo i passaggi che permetteranno di convertire velocemente un file CSV (Comma-Separated Values) in un XLS; i CSV sono sostanzialmente dei file di testo ampiamente adottati per importare ed esportare dati in formato tabellare, come per esempio quelli messi a disposizione dalle basi di dati o i fogli di calcolo gestibili tramite il già citato Excel.

In pratica non esiste un vero e proprio standard CSV né attraverso di esso viene specificata una codifica dei caratteri, in linea generale in un file concepito secondo la prassi adottata per tale formato ciascuna riga di una tabella, o ciascun record di un database, viene rappresentata tramite una linea testuale suddivisa in campi contenenti dei valori che fungono da colonne e sono separati da un “carattere separatore“, come per esempio una virgola.

Utilizzando PHPExcel la conversione da CSV a Excel può essere effettuata in questo modo:

<?php  
// inclusione della libreria 
include 'PHPExcel/PHPExcel/IOFactory.php'; 
// specifica del formato da convertire 
$objReader = PHPExcel_IOFactory::createReader('CSV'); 
// indicazione del delimitatore o carattere separatore 
$objReader->setDelimiter(",");
// determinazione della codifica dei caratteri da utilizzare
$objReader->setInputEncoding('UTF-8');
// caricamento del file da convertire
$objPHPExcel = $objReader->load('csv/doc.csv');
// scrittura del file XLS
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
// salvataggio del file XLS
$objWriter->save('xls/doc.xls');
?>

Nel caso specifico è stato utilizzato in scrittura il parametro Excel5 per via del fatto che la versione di Excel in uso nella postazione corrente è abbastanza datata, PHPExcel supporta comunque soluzioni più recenti.

Post correlati
I più letti del mese
Tematiche