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
- Créer des fichiers Excel XLS ou XLSX en PHP
- Mettre à jour le fichier Excel existant en PHP
- Créer des tableaux ou des graphiques dans un fichier Excel en PHP
- Créer un tableau dans un fichier Excel 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.
- Placez le fichier Java.inc dans le dossier racine du package de la bibliothèque que vous avez téléchargé.
- 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
- 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.
- Créez un objet de la classe Workbook.
- Accédez à WorksheetCollection à l’aide de la méthode $workbook->getWorksheets().
- Accédez à la collection Cells de la feuille de calcul souhaitée à l’aide de la méthode $worksheets->get(index)->getCells().
- Insérez la valeur dans la cellule souhaitée à l’aide de la méthode $cells->get(“A1”)->putValue(“Hello world!”).
- Enregistrez le classeur Excel à l’aide de la méthode $workbook->save(“output.xlsx”, cells\SaveFormat::XLSX).
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.
- Créez un objet de la classe Workbook et initialisez-le avec le chemin d’accès au fichier Excel.
- Accédez à la WorksheetCollection du fichier Excel à l’aide de la méthode $workbook->getWorksheets().
- Accédez à la collection Cells de la feuille de calcul souhaitée à l’aide de la méthode $worksheets->get(index)->getCells().
- Insérez la valeur dans la cellule souhaitée à l’aide de la méthode $cells->get(“A1”)->putValue(“Hello world!”).
- Enregistrez le classeur Excel à l’aide de la méthode $workbook->save(“output.xlsx”, cells\SaveFormat::XLSX).
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.
- Créez un nouveau fichier Excel ou chargez-en un existant à l’aide de la classe Workbook.
- Insérez des données dans la feuille de calcul.
- Accédez à la collection de tableaux croisés dynamiques à l’aide de la méthode $worksheet->getPivotTables().
- Ajoutez un nouveau tableau croisé dynamique dans la feuille de calcul à l’aide de la méthode $worksheet->getPivotTables()->add().
- Fournir des données au tableau croisé dynamique.
- Enregistrez le classeur à l’aide de la méthode $workbook->save(“output.xlsx”, cells\SaveFormat::XLSX).
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.