Tag Archives: Hp

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.
separateur jarodxxx

La tablette HP TouchPad c’est fini

Ce matin , j’étais exceptionnellement debout a 6h30 pour saisir l’offre de rue du commerce proposant les 1000 derniers HP touchPad mis en vente a 7h00.

7h02: les Touchpad s’affiche apres les 75 rafraichissemnt d’ecran.

Munis d’un Macbook Pro avec Firefox et Chrome ouvert sur 2 session différente et un PC portable sous IE avec une 3e session.

Mise en panier de la fameuse Tablette a 7h05 sur les 3 navigateur  (le site rencontre d’énormes problème de latence)

7h17 : Un seul des 3 navigateur (IE en l’occurence) arrive jusqu’a la validation de l’adresse de livraison.

7h17:35 : Je valide , ca charge ….

7h19 : Erreur, le produit que vous avez choisis n’est plus en stock.

VDM

separateur jarodxxx