8 septembre 2009

Générer de l’Excel en PHP avec PHPExcel

Générer de lExcel en PHP avec PHPExcelComme vous l’indique le titre de cette article, il est possible de générer un fichier Excel en PHP.

C’est ce que nous permet la classe PHPExcel de CodePlex dont nous allons voir ici un exemple d’utilisation.Ci-dessous un exemple de code PHP qui va généré un fichier Excel :

//-- On inclus les fichiers PHPExel
include 'library/PHPExcel.php';
include 'library/PHPExcel/Writer/Excel2007.php';

//-- Go !
$objPHPExcel = new PHPExcel();

//-- Quelques propriétées
$objPHPExcel->getProperties()->setCreator("DevZone");
$objPHPExcel->getProperties()->setLastModifiedBy("DevZone");
$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX");
$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX");
$objPHPExcel->getProperties()->setDescription("Office 2007 XLSX - By DevZone - With PHPExel");

//-- Les Données
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getActiveSheet()->SetCellValue('A1', 'La cellule A1');
$objPHPExcel->getActiveSheet()->SetCellValue('B2', 'La cellule B2');
$objPHPExcel->getActiveSheet()->SetCellValue('C1', 'La cellule C1');
$objPHPExcel->getActiveSheet()->SetCellValue('D2', 'La cellule D2');

//-- On nomme notre feuillet
$objPHPExcel->getActiveSheet()->setTitle('Exemple');

//-- On sauvegarde notre fichier (Format Excel 2007)
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save('Office 2007 XLSX.xlsx');

Vous le voyez, les étapes de création sont très simples :

  1. On inclus les fichiers de la classe (PHPExcel.php pour la base et Excel2007.php pour le format de sortie),
  2. On  spécifie quelques propriétés (auteur, description, …),
  3. On utilise dans cet exemple SetCellValue() (si c’est pas explicite comme nom de méthode !) pour attribuer une valeur à une cellule,
  4. Et on sauvegarde notre document avec save()

Facile non ?

A noter qu’il est, entres autres choses, possible de mettre en place des formules de calcul.

Lien :

BlogBang

6 commentaires

  1. www.fuzz.fr dit :

    Générer de l’Excel en PHP avec PHPExcel | DevZone – Zone de développement web…

    Comme vous l’indique le titre de cette article, il est possible de générer un fichier Excel en PHP.
    C’est ce que nous permet la classe PHPExcel de CodePlex….

  2. HerosCorp dit :

    Bonjour,

    Est-t-il possible de modifier un fichier existant; creer un molèle avec des graphiques et charger les données dans le fichier.

    Merci.

  3. devzonefr dit :

    @HerosCorp

    Il existe un tuto très complet sur l’utilisation de cette classe :
    http://g-ernaelsten.developpez.com/tutoriels/excel2007/

    Pour répondre à ta question sur la possibilité de lire/modifier un fichier Excel existant, la réponse est oui.
    Un début de réponse ici : http://www.developpez.net/forums/d687578/php/bibliotheques-frameworks/bureautique/phpexcel-generation-fichiers-excel/#post4024536

  4. Patrick dit :

    Bonjour,

    J’ai lu la documentation de PhpExcel mais je n’ai pas trouvé la réponse à cette question. Je dois lire des fichiers excel et dans une cellule il y a une ou deux images, est il possible d’extraire ces images afin de les sauver ensuite sur le serveur ?

    Amicalement
    Patrick

  5. obligatoire dit :

    Merci, cela m’a été d’une grande aide !

  6. Facteur info dit :

    Merci pour l’info. ca a l’aire d’être une bibliothèque assez évoluée. Je vais étudier tout ca.

Déposez un commentaire





Additional comments powered by BackType