Lire un fichier Microsoft Excel (.xls) avec PHP

Logo de la librairie PHPExcelCe tutoriel ce veut simplisme. On va juste voir comment lire un fichier Excel afin de le représenter au format HTML.

Pour cela on va utiliser la librairie PHPExcel de CodePlex.
Contrairement au tutoriel précédent, cette librairie est maintenue et ne pose pas de problème d’encodage.
La librairie est bien documentée et un grand nombre d’exemples sont fournis et elle est utilisée dans PhpMyAdmin.

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

// Chargement du fichier Excel
$objPHPExcel = PHPExcel_IOFactory::load("unFichierExcel.xls");

/**
* récupération de la première feuille du fichier Excel
* @var PHPExcel_Worksheet $sheet
*/
$sheet = $objPHPExcel->getSheet(0);

echo '<table border="1">';

// On boucle sur les lignes
foreach($sheet->getRowIterator() as $row) {

   echo '<tr>';

   // On boucle sur les cellule de la ligne
   foreach ($row->getCellIterator() as $cell) {
      echo '<td>';
      print_r($cell->getValue());
      echo '</td>';
   }

   echo '</tr>';
}
echo '</table>';

Voila. C’est tout. Rien de compliqué.

Par contre si vous voulez aller plus loin, la librairie regorge de fonctionnalités pour la lecture et l’écriture de fichier. Et elle ne se contente pas du format xls elle prend aussi en charge le xlsx d’Excel 2007.

Cette entrée a été publiée dans PHP. Vous pouvez la mettre en favoris avec ce permalien.

4 réponses à Lire un fichier Microsoft Excel (.xls) avec PHP

  1. Pardaillec dit :

    Bonjour,
    Merci pour votre billet. Par contre, la variable $sheet n’est pas définie, à quoi correspond-elle ?
    Merci d’avance.

  2. karim dit :

    Bonsoir,
    bein je ne sais comment te remercier! car je me suis taper la doc et je n’ai réussie à comprendre comment afficher toute les cellules d’une feuille.
    MErcie encore
    bonne soirée

  3. zinab dit :

    Bonjour;
    Merci pour le code, il fonctionne bien mais j’ai un petit souci je n’arrive pas à récuperer la valeur d’une cellule donnée
    Merci

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>