Créer des fichiers Excel en PHP

Les feuilles de calcul sont devenues un élément essentiel de la conservation, de l’organisation et de l’analyse des données. Étant donné que les solutions automatisées sont de plus en plus utilisées ces jours-ci, la tendance à créer et à manipuler des documents Excel (XLS/XLSX) a émergé et s’est développée à un rythme effréné. Conformément au scénario mentionné ci-dessus, cet article explique comment créer des fichiers Excel XLSX ou XLS en PHP.

Bibliothèque PHP pour créer des fichiers Excel XLS - Téléchargement gratuit

Afin de créer et de manipuler des fichiers Excel dans des applications Web basées sur PHP, nous utiliserons Aspose.Cells for PHP via Java. Il s’agit d’une bibliothèque puissante et rapide qui fournit un large éventail de fonctionnalités pour l’automatisation d’Excel. Vous pouvez télécharger le package de la bibliothèque depuis ici.

Usage

Voici les conditions préalables que vous devez remplir pour utiliser Aspose.Cells for PHP via Java.

Une fois que vous avez terminé les prérequis, suivez les étapes ci-dessous pour exécuter le fichier example.php à des fins de test.

  1. Placez le fichier Java.inc dans le dossier racine du package de la bibliothèque que vous avez téléchargé.
  2. Exécutez JavaBridge.jar à l’aide des commandes ci-dessous dans l’invite de commande :
    • cd aspose.cellules

    • %JAVAHOME%\bin\java -Djava.ext.dirs=lib -jar JavaBridge.jar SERVLETLOCAL:8080

  3. Exécutez example.php à partir du dossier racine de la bibliothèque à l’aide de la commande ci-dessous :
    • exemple php.php

Créer un fichier Excel XLS en PHP

Voici les étapes pour créer un fichier Excel XLSX (ou XLS) en PHP.

L’exemple de code suivant montre comment créer un fichier Excel XLSX en PHP.

require_once("http://localhost:8080/JavaBridge/java/Java.inc");
require_once("aspose.cells.php");

use aspose\cells;

// Créer un objet de classe classeur
$workbook = new cells\Workbook();

// Accéder aux feuilles de travail
$sheets = $workbook->getWorksheets();

// Accéder aux cellules de la feuille de calcul souhaitée
$cells = $sheets->get(0)->getCells();

// Insérer une valeur dans la cellule
$cells->get("A1")->putValue("Hello world!");

// Enregistrez le fichier Excel
$workbook->save("output.xlsx", cells\SaveFormat::XLSX);

Mettre à jour un Excel XLS en PHP

Dans la section précédente, nous avons créé un fichier Excel à partir de zéro. Maintenant, éditons un fichier Excel existant et insérons-y des données. Voici les étapes pour écrire des données dans un fichier XLSX en utilisant Aspose.Cells for PHP via Java.

L’exemple de code suivant montre comment modifier un fichier Excel et y écrire des données en PHP.

// Créer un objet de classe de classeur pour charger le fichier Excel
$workbook = new cells\Workbook("workbook.xlsx");

// Accéder aux feuilles de travail
$sheets = $workbook->getWorksheets();

// Accéder aux cellules de la feuille de calcul souhaitée
$cells = $sheets->get(0)->getCells();

// Insérer une valeur dans la cellule
$cells->get("A1")->putValue("Hello world!");

// Enregistrez le fichier Excel
$workbook->save("updated.xlsx");

PHP Créer des graphiques dans un Excel XLS

Voici les étapes pour créer des graphiques dans un fichier Excel à l’aide de PHP.

  • Créez un nouveau fichier Excel ou chargez-en un existant à l’aide de la classe Workbook.
  • Ajoutez des données à la feuille de calcul si un nouveau classeur est créé.
  • Obtenez la collection de graphiques de la feuille de calcul à l’aide de la méthode $worksheet->getCharts().
  • Ajoutez un nouveau graphique en utilisant la méthode $worksheet->getCharts()->add().
  • Obtenez le Graphique nouvellement créé à partir de la collection.
  • Spécifiez la plage de cellules pour définir NSeries pour le graphique.
  • Enregistrez le classeur en tant que fichier Excel .xlsx à l’aide de la méthode $workbook->save(“output.xlsx”, cells\SaveFormat::XLSX).

L’exemple de code suivant montre comment créer des graphiques dans des fichiers Excel en PHP.

// Charger le fichier Excel
$workbook = new Workbook("Book2.xlsx");

// Obtenir la référence de la première feuille de travail
$worksheets = $workbook->getWorksheets();
$sheet = $worksheets->get(0);

// Ajouter une valeur d'échantillon aux cellules
$cells = $sheet->getCells();
$cell = $cells->get("A1");
$cell->setValue(50);
$cell = $cells->get("A2");
$cell->setValue(100);
$cell = $cells->get("A3");
$cell->setValue(150);
$cell = $cells->get("B1");
$cell->setValue(4);
$cell = $cells->get("B2");
$cell->setValue(20);
$cell = $cells->get("B3");
$cell->setValue(50);

// Obtenir des graphiques dans la feuille de calcul
$charts = $sheet->getCharts();

// Ajouter un graphique à la feuille de calcul
$chartIndex = $charts->add(ChartType::PYRAMID, 5, 0, 15, 5);
$chart = $charts->get($chartIndex);

// Ajouter NSeries (source de données de graphique) au graphique allant de "A1"
// cellule à "B3"
$serieses = $chart->getNSeries();
$serieses->add("A1:B3", true);

// Ecrire le fichier Excel 
$workbook.save("Excel_with_Chart.xlsx");

Créer un tableau croisé dynamique dans un Excel XLSX en PHP

Les tableaux croisés dynamiques dans les feuilles de calcul Excel sont utilisés pour ajouter des filtres aux données, calculer les totaux, résumer les données, etc. Les tableaux croisés dynamiques peuvent être créés à l’aide de la plage de cellules de la feuille de calcul. Voici les étapes pour créer un tableau croisé dynamique dans une feuille de calcul Excel à l’aide de PHP.

L’exemple de code suivant montre comment créer un tableau croisé dynamique dans Excel à l’aide de PHP.

// Charger le document à convertir
$workbook = new Workbook("Book2.xlsx");

// Obtenir la référence de la première feuille de travail
$worksheets = $workbook->getWorksheets();
$sheet = $worksheets->get(0);

// Ajouter une valeur d'échantillon aux cellules
$cells = $sheet->getCells();
$cell->setValue("Sport");
$cell = $cells->get("B1");
$cell->setValue("Quarter");
$cell = $cells->get("C1");
$cell->setValue("Sales");

$cell = $cells->get("A2");
$cell->setValue("Golf");
$cell = $cells->get("A3");
$cell->setValue("Golf");
$cell = $cells->get("A4");
$cell->setValue("Tennis");
$cell = $cells->get("A5");
$cell->setValue("Tennis");
$cell = $cells->get("A6");
$cell->setValue("Tennis");
$cell = $cells->get("A7");
$cell->setValue("Tennis");
$cell = $cells->get("A8");
$cell->setValue("Golf");

$cell = $cells->get("B2");
$cell->setValue("Qtr3");
$cell = $cells->get("B3");
$cell->setValue("Qtr4");
$cell = $cells->get("B4");
$cell->setValue("Qtr3");
$cell = $cells->get("B5");
$cell->setValue("Qtr4");
$cell = $cells->get("B6");
$cell->setValue("Qtr3");
$cell = $cells->get("B7");
$cell->setValue("Qtr4");
$cell = $cells->get("B8");
$cell->setValue("Qtr3");

$cell = $cells->get("C2");
$cell->setValue(1500);
$cell = $cells->get("C3");
$cell->setValue(2000);
$cell = $cells->get("C4");
$cell->setValue(600);
$cell = $cells->get("C5");
$cell->setValue(1500);
$cell = $cells->get("C6");
$cell->setValue(4070);
$cell = $cells->get("C7");
$cell->setValue(5000);
$cell = $cells->get("C8");
$cell->setValue(6430);

// Obtenir des tableaux croisés dynamiques
$pivotTables = $sheet->getPivotTables();

// Ajouter un tableau croisé dynamique à la feuille de calcul
$index = $pivotTables->add("=A1:C8", "E3", "PivotTable2");

// Accéder à l'instance du tableau croisé dynamique nouvellement ajouté
$pivotTable = $pivotTables->get($index);

// Annuler l'affichage des totaux généraux pour les lignes
$pivotTable->setRowGrand(false);

// Faites glisser le premier champ vers la zone de ligne
$pivotTable->addFieldToArea(PivotFieldType::ROW, 0);

// Faites glisser le deuxième champ vers la zone de la colonne
$pivotTable->addFieldToArea(PivotFieldType::COLUMN, 1);

// Faites glisser le troisième champ vers la zone de données
$pivotTable->addFieldToArea(PivotFieldType::DATA, 2);

// Ecrire le fichier Excel
$workbook.save("Excel_with_Table.xlsx");

Bibliothèque PHP Excel - Obtenez une licence de bibliothèque gratuite

Vous pouvez créer des fichiers Excel en PHP gratuitement sans limitation d’évaluation à l’aide d’une licence temporaire.

Conclusion

Dans cet article, vous avez appris à créer des fichiers Excel XLS ou XLSX à partir de zéro en PHP. De plus, vous avez vu comment écrire des données dans un fichier Excel existant et générer des fichiers Excel avec des graphiques ou des tableaux en PHP. Vous pouvez en savoir plus sur la bibliothèque PHP Excel en utilisant la documentation. Si vous avez des questions, n’hésitez pas à nous en faire part via notre forum.

Voir également