Corsi on-line

Creare file di Excel con PHP

Recentemente mi è capitato di partecipare ad un discussione su un forum estero in cui si chiedeva come scrivere file in formato Excel attraverso uno script PHP. Ovviamente le soluzioni disponibili sono numerose (basta fare una ricerca su Google per rendersi conto di quante volte l’argomento sia già stato affrontato) ma, approfondendo l’analisi, si può facilmente notare come – troppo spesso – le soluzioni proposte siano tutt’altro che definitive.

La soluzione più utilizzata prevede, semplicemente, di operare sulle intestazioni di una comune pagina HTML contenente una tabella:

<?php
$filename="esempio.xls";
header ("Content-Type: application/vnd.ms-excel");
header ("Content-Disposition: inline; filename=$filename");
?>
<html>
<head><title>Utenti</title></head>
<body>   
<table border="1″> 
<tr>
  <th>Nome</th>
  <th>Cognome</th>
</tr>
<tr>
  <td>Mario</td>
  <td>Rossi</td>
</tr>
<tr>
  <td>Roberto</td>
  <td>Verdi</td>
</tr>
</table>
</body>
</html>

In realtà quella indicata è una soluzione tanto semplice quanto grossolana in quanto consente, semplicemente, di ottenere una rappresentazione in Excel di un documento HTML senza sfruttare le reali potenzialità del foglio di calcolo.

Al fine di cercare qualcosa di più raffinato mi sono imbattuto in una libreria davvero molto interessante. La libreria in questione si chiama PHPExcel ed è distribuita gratuitamente con licenza GPL sul portale CodePlex di Microsoft.

Grazie a questa libreria sarà possibile interagira a 360 gradi con file .xls (compatibili con la versione 2007 di Excel) sia in lettura che in scrittura grazie al completo supporto del formato OpenXML (OOXML).
Integrando questa libreria nei vostri progetti potrete creare “al volo” documenti di Excel complessi come, ad esempio, dei report o delle fatture, effettuando calcoli “al volo”. Di seguito un esempio di invoice creata dinamicamente con PHPExcel:

L’utilizzo della libreria, a dire il vero, non è molto intuitivo, tuttavia, con un po’ di pazienza, potrete ottenere risultati davvero eccellenti e scoprire un alleato che potrebbe tornarvi utile in diversi ambiti aziendali.
Sul sito ufficiale potete trovare, oltre alla documentazione, anche alcuni esempi di utilizzo. Per chi volesse avventurarsi, da subito, in qualcosa di complesso segnalo questo articolo.

Nota: per funzionare correttamente, la libreria PHPExcel richiede PHP 5.20 o superiore e che siano abilitate le estensioni php_zip, php_xml e php_gd2.

Post correlati
I più letti del mese
Tematiche