PHPExcel : Créez ou importez des documents Excel 2007 en PHP
Dans mon boulot, j’ai un jour été confronté au problème d’un client : exporter des données dans un tableau Excel. Il existe quelques librairies qui le font plus ou moins bien, j’ai retenu pour vous la meilleure, selon mon expérience.
Non seulement cette librairie permet d’exporter au format Excel 97 (.xls), Excel 2007 (.xlsx), CSV, HTML et PDF, elle permet aussi d’importer les informations contenues dans un classeur existant.
Au niveau des fonctionnalités, PHPExcel en propose un large choix, toutes très bien documentées.
Quelques-uns des points clés à retenir :
- Ecriture et lecture de classeurs Excel
- Le traitement des données se passe en mémoire, gain de rapidité.
- Permet d’utiliser plusieurs feuilles au sein d’un même classeur
- API claire et plutôt simple
- Permet d’utiliser des images, des formules, de choisir le format des cellules
Pour une liste exhaustive des fonctions proposées, je vous invite à regarder ici.
Exemple d’utilisation de la libraire :
<?php
/** Afficher toutes les erreurs */
error_reporting(E_ALL);
/** Ajoutons les classes PHPExcel à l'include_path **/
ini_set('include_path', ini_get('include_path').';../Classes/');
/** PHPExcel */
include 'PHPExcel.php';
/** PHPExcel_Writer_Excel2007 */
include 'PHPExcel/Writer/Excel2007.php';
// Créer un nouvel objet PHPExcel
echo date('H:i:s') . " Create new PHPExcel object\n";
$objPHPExcel = new PHPExcel();
// Ajoutons les propriétés du classeur
echo date('H:i:s') . " Set properties\n";
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");
$objPHPExcel->getProperties()->setLastModifiedBy("Maarten Balliauw");
$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document");
$objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.");
// Ajoutons quelques données
echo date('H:i:s') . " Add some data\n";
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->SetCellValue('A1', 'Hello');
$objPHPExcel->getActiveSheet()->SetCellValue('B2', 'world!');
$objPHPExcel->getActiveSheet()->SetCellValue('C1', 'Hello');
$objPHPExcel->getActiveSheet()->SetCellValue('D2', 'world!');
// Renommer le nom de la feuille
echo date('H:i:s') . " Rename sheet\n";
$objPHPExcel->getActiveSheet()->setTitle('Simple');
// Enregistrer le tout dans un document .xlsx
echo date('H:i:s') . " Write to Excel2007 format\n";
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save(str_replace('.php', '.xlsx', __FILE__));
// Terminé
echo date('H:i:s') . " Done writing file.\r\n";
Vous trouverez le tout sur la page Codeplex du projet.
Vous avez aimé cet article ?
Je vous invite à visiter Geekzine.info, un blog d’actualités geek et high-tech, les buzz du moment et les dernières tendances sur la toile.


Il existe une multitude de façon de créer un bouton de paiement Paypal. Mais suivant vos besoins, toutes les méthodes ne sont pas bonnes à utiliser, ainsi pour avoir une bonne flexibilité et un bouton « sécurisé » il vous faudra passer par une génération à la volée du bouton avec un cryptage SSL des informations.
Permettre à vos visiteurs d’envoyer des fichiers sur votre serveur est une opération beaucoup plus délicate qu’il n’y parait si le processus n’est pas totalement maitrisé. « Anéfé », c’est sans doute le point d’entrée préféré et privilégié des pirates, puisqu’il peut éventuellement permettre d’envoyer des scripts sur votre serveur et les exécuter, lui permettant éventuellement de glaner des informations comme vos accès à votre base de données. Cette attaque, par envoi de fichier via un formulaire, est sans doute l’une des plus dangereuse car elle donne une très grande liberté pour l’attaquant.


Ce matin sbeex un lecteur assidu, m’a demandé de lui confectionner un petit script pour parser un flux rss et en ré-afficher les informations …
1274
3887
240













