Quantcast
Channel: Jarod xXx Developpeur web 2.0 » PHP
Viewing all articles
Browse latest Browse all 10

PHPExcel : Créez ou importez des documents Excel 2007 en PHP

$
0
0

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]
<?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";
[/php]

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.

Viewing all articles
Browse latest Browse all 10

Latest Images





Latest Images