1. Des produits
  2.   Tableur
  3.   PHP
  4.   PHPSpreadsheet

PHPSpreadsheet

 
 

Bibliothèque PHP Open Source pour les fichiers de feuille de calcul

Lire, écrire, manipuler et traiter des fichiers Microsoft Excel et LibreOffice Calc.

PHPSpreadsheet est une bibliothèque open source qui comprend un ensemble de classes pour vous permettre d'interagir avec et d'utiliser divers formats de fichiers de tableur de Microsoft Excel et LibreOffice Calc. PHPSpreadsheet prend en charge les feuilles de calcul contenant une ou plusieurs feuilles de calcul, contenant des cellules pour contenir des données de différents types, telles que des nombres, des formules, des images, etc.

Previous Next

Premiers pas avec PHPSpreadsheet

Tout d'abord, vous devez avoir PHP version 7.1 ou plus récente pour développer avec PhpSpreadsheet. La méthode recommandée pour installer PhpSpreadsheet dans votre projet consiste à utiliser composer. Ouvrez le terminal dans le répertoire racine de votre projet et exécutez la commande :

Voici la commande

 composer require phpoffice/phpspreadsheet 

Composer propose un programme d'installation pratique que vous pouvez exécuter directement à partir de la ligne de commande. N'hésitez pas à télécharger ce fichier ou à le consulter sur GitHub. Il existe deux façons d'installer Compositeur. Installez-le localement dans le cadre de votre projet ou globalement en tant qu'exécutable à l'échelle du système.

Travailler avec des cellules de feuille de calcul

PHPSpreadsheet vous permet d'accéder à la cellule et de définir sa valeur par des coordonnées. Vous pouvez également créer une nouvelle cellule et y configurer une formule. Vous pouvez également configurer la cellule pour qu'elle occupe différents types de données, telles que la date, l'heure et le nombre avec des zéros non significatifs. PHPSpreadsheet vous permet également de définir une plage de cellules à partir d'un tableau, ainsi que de parcourir les cellules à l'aide d'itérateurs ou d'index. Vous pouvez également utiliser des classeurs de valeur pour permettre une saisie de données conviviale.

Créer un nouveau XLSX - PHP

<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// Create a new Spreasheet
$spreadsheet = new Spreadsheet();
// Get active sheet
$sheet = $spreadsheet->getActiveSheet();
// Set cell value
$sheet->setCellValue('A1', 'File Format Developer Guide !');
// Save in Xlsx format
$writer = new Xlsx($spreadsheet);
$writer->save('FileFormat.xlsx');

Créer et appliquer des filtres automatiques

En utilisant PHPSpreadsheet, vous pouvez appliquer des plages de filtre automatique pour filtrer et afficher uniquement les lignes qui correspondent aux critères que vous avez définis dans le filtre automatique. Vous pouvez appliquer des filtres à plusieurs colonnes en tant qu'additifs.

PHPSpreadsheet vous permet de définir une zone de filtre automatique sur une feuille de calcul. Vous pouvez créer, lire et écrire des expressions de filtre automatique. De plus, différents types de filtres sont disponibles, tels que les filtres simples, les blancs correspondants, les filtres DateGroup, les filtres personnalisés, les filtres dynamiques et les dix premiers filtres.

Appliquer le filtre automatique dans XLSX - PHP

<?php
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
// Load existing file without filters 
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load('withoutFilter.xlsx');
// Select active worksheet
$spreadsheet->setActiveSheetIndex(0);
$spreadsheet->getActiveSheet()->setAutoFilter($spreadsheet->getActiveSheet()->calculateWorksheetDimension());
// Set active filters
$autoFilter = $spreadsheet->getActiveSheet()->getAutoFilter();
// Filter the Country column on a filter value of Germany
$autoFilter->getColumn('C')
  ->setFilterType(Column::AUTOFILTER_FILTERTYPE_FILTER)
  ->createRule()
  ->setRule(
    Rule::AUTOFILTER_COLUMN_RULE_EQUAL,
    'Germany'
  );
// Save file
$writer = new Xlsx($spreadsheet);
$writer->save('Filter.xlsx');

Moteur de calcul de formule

Pour effectuer des calculs de niveau basique à avancé dans vos feuilles de calcul professionnelles, vous pouvez facilement évoquer le moteur de calcul de formule de PHPSpreadsheet, et il se chargera du reste.

L'analyseur de formule de PHPSpreadsheet peut ajuster automatiquement une formule pendant que des lignes/colonnes sont insérées/supprimées. La formule Microsoft Excel est convertie en code PHP avant d'être exécutée. Pour améliorer les performances, un cache de calcul est utilisé pour conserver le résultat de la formule. De même, chaque feuille de calcul individuelle est conservée par un cache séparé.

 Français