Formation PUB010 : PHP, 2022 Générer un chiffrier Excel en PHP

28.1 Bibliothèque PHPExcel


PHPExcel est une bibliothèque pré-programmée permettant de générer un fichier Excel (.xslx) à l'aide de PHP.

▼Publicité Le texte se poursuit plus bas

Téléchargement

Cette bibliothèque est disponible à l'adresse suivante : https://github.com/PHPOffice/PHPExcel

Documentation

Pour utiliser PHPExcel, prenez connaissance de la documentation et des tutoriels suivants :

Utilisation

Voici un exemple de programme PHP qui génère un chiffrier Excel à l'aide de PHPExcel.

Important : pour que la génération du chiffrier fonctionne correctement, il ne doit y avoir aucune information envoyée au navigateur (ex : aucune balise HTML, aucune ligne blanche en dehors du code PHP) ni avant, ni après la génération proprement dite. 

Une structure de code intéressante consiste à afficher les données à l'écran et de les faire suivre d'un bouton qui, lui, se chargera de générer le chiffrier Excel. Les balises HTML ne seront envoyées à l'écran que si le bouton n'a pas été cliqué.

PHP

// référence à la bibliothèque de fonctions

require_once 'include/PHPExcel/PHPExcel.php';

require_once 'include/PHPExcel/PHPExcel/IOFactory.php';

 

if(isset($_POST['excel'])) {

    // création des objets de base et initialisation des informations d'entête

    $classeur = new PHPExcel;

    $classeur->getProperties()->setCreator("Annie Gagnon");

    $classeur->setActiveSheetIndex(0);

    $feuille=$classeur->getActiveSheet();

 

    // ajout des données dans la feuille de calcul

    $feuille->setTitle('Nom affiché dans l'onglet');

    $feuille->setCellValueByColumnAndRow(0, 1, 'Les colonnes débutent à 0 et les lignes débutent à 1');

    $feuille->SetCellValue('A2', 'Il est aussi possible d'utiliser la notation LettreChiffre (ex : A2)');

 

    // envoi du fichier au navigateur

    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); 

    header('Content-Disposition: attachment;filename="nomfichier.xlsx"'); 

    header('Cache-Control: max-age=0'); 

    $writer = PHPExcel_IOFactory::createWriter($classeur, 'Excel2007'); 

    $writer->save('php://output');

}

else {

    // on envoie de l'information à l'écran seulement si le bouton de génération n'a pas été cliqué

    require 'include/entete.inc.php';

 

    // affichage des données à l'écran

    ...

 

    // bouton qui permettra de générer le chiffrier Excel

    echo '<form method="post" action="' . $_SERVER['SCRIPT_NAME'] . '">';

    echo '<input type="submit" value="Exporter vers Excel" name="excel" />';

    echo '</form>';

}

La structure de code proposée ici commencera par afficher les données à l'écran. Lorsque l'usager cliquera sur le bouton pour exporter les données vers Excel, la page demeurera affichée et le fichier généré sera téléchargé sur le poste du client.

Fichier téléchargé sur le client

Ce programme générera le chiffrier suivant :

Exemple de fichier Excel généré avec PHPExcel

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Par Christiane Lagacé
Dernière révision le 21 janvier 2018
Merci de partager !

Site fièrement hébergé chez A2 Hosting.

Soumettre