WEB-d Développement Web

PHP, SQL, HTML5, CSS3, Javascript, Mootools, Référencement, SEO, CMS, e-commerce, Apache, Linux, Ubuntu, ...

Créer un document Excel (xls) avec PHP

Spreadsheet_Excel_Writer est un package PEAR qui permet, comme son nom l'indique, de créer des feuilles de calcul Excel. Pour l'installer, rien de plus simple :


sudo pear install -f Spreadsheet_Excel_Writer

L'utilisation est également simple, avec une particularité cependant. Les feuilles excel créées avec Spreadsheet_Excel_Writer sont encodées au format ISO-8859-1, alors que PHP utilise un encodage UTF-8. Pour que les caractères accentués s'affichent correctement, il faut donc utiliser la fonction utf8_decode($valeur) au moment d'écrire une valeur dans une cellule, comme le montre l'exemple complet ci-dessous :


<?php
include 'Spreadsheet/Excel/Writer.php';

$data = array(
  array('',     'Math', 'Geo',  'Science'),
  array('John', 24,     54,     38),
  array('Marc', 67,     22,     57),
  array('Tim',  69,     32,     58),
  array('Tom',  81,     78,     68)
);

// Créer le fichier
$excel = new Spreadsheet_Excel_Writer();

// Ajouter une feuille de calcul
$sheet = $excel->addWorksheet('Feuille 1');

// Ajouter les données
foreach ($data as $line => $row) {
    foreach ($row as $col => $value) {
        // write(numéro de ligne, numéro de colonne, valeur)
        $sheet->write($line, $col, utf8_decode($value));
    }
}

// On l'enverra directement au navigateur
// (sans l'écrire sur le disque du serveur)
$excel->send('résultats.xls');

// Ne pas oublier de fermer le fichier
// Ce n'est que maintenant qu'il est envoyé au navigateur
if ($excel->close() !== true) {
    echo 'ERREUR!';
}
?>
 

La documentation complète se trouve sur le site du projet PEAR.

Articles similaires