PHPSpreadsheet
Open-Source-PHP-Bibliothek für Tabellenkalkulationsdateien
Lesen, Schreiben, Bearbeiten und Verarbeiten von Microsoft Excel- und LibreOffice Calc-Dateien.
PHPSpreadsheet ist eine Open-Source-Bibliothek, die eine Reihe von Klassen enthält, mit denen Sie mit verschiedenen Tabellenkalkulationsdateiformaten von Microsoft Excel und LibreOffice Calc interagieren und diese verwenden können. PHPSpreadsheet unterstützt Tabellenkalkulationen, die ein oder mehrere Arbeitsblätter enthalten, die Zellen enthalten, um Daten verschiedener Typen wie Zahlen, Formeln, Bilder usw. zu speichern.
Erste Schritte mit PHPSpreadsheet
Zunächst einmal benötigen Sie die PHP-Version 7.1 oder neuer, um mit PhpSpreadsheet entwickeln zu können. Die empfohlene Methode zum Installieren von PhpSpreadsheet in Ihrem Projekt ist die Verwendung von composer. Öffnen Sie das Terminal in Ihrem Projektstammverzeichnis und führen Sie den Befehl aus:
Hier ist der Befehl
composer require phpoffice/phpspreadsheet
Composer bietet ein praktisches Installationsprogramm, das Sie direkt von der Befehlszeile aus ausführen können. Laden Sie diese Datei gerne herunter oder überprüfen Sie sie auf GitHub. Es gibt zwei Möglichkeiten zur Installation Komponist. Installieren Sie es lokal als Teil Ihres Projekts oder global als systemweite ausführbare Datei.
Mit Tabellenzellen arbeiten
Mit PHPSpreadsheet können Sie auf die Zelle zugreifen und ihren Wert nach Koordinaten festlegen. Sie können auch eine neue Zelle erstellen und darin eine Formel einrichten. Sie können die Zelle auch so konfigurieren, dass sie verschiedene Datentypen enthält, z. B. Datum, Uhrzeit und Zahl mit führenden Nullen. Mit PHPSpreadsheet können Sie auch eine Reihe von Zellen aus einem Array festlegen und Zellen mithilfe von Iteratoren oder Indizes durchlaufen. Sie können auch Wertebinder verwenden, um eine benutzerfreundliche Dateneingabe zu ermöglichen.
Erstellen Sie ein neues 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');
AutoFilter erstellen und anwenden
Mit PHPSpreadsheet können Sie Autofilterbereiche anwenden, um nur die Zeilen herauszufiltern und anzuzeigen, die den Kriterien entsprechen, die Sie im Autofilter definiert haben. Sie können Filter als Zusatz auf mehr als eine Spalte anwenden.
Mit PHPSpreadsheet können Sie einen Autofilterbereich auf einem Arbeitsblatt festlegen. Sie können Autofilter-Ausdrücke erstellen, lesen und schreiben. Darüber hinaus sind verschiedene Arten von Filtern verfügbar, z. B. einfache Filter, übereinstimmende Leerzeichen, DateGroup-Filter, benutzerdefinierte Filter, dynamische Filter und Top-Ten-Filter.
Wenden Sie den automatischen Filter in XLSX - PHP an
<?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');
Formel-Berechnungs-Engine
Um einfache bis fortgeschrittene Berechnungen in Ihren Geschäftstabellen durchzuführen, können Sie ganz einfach die Formelberechnungs-Engine von PHPSpreadsheet aufrufen, und sie kümmert sich um den Rest.
Der Formelparser von PHPSpreadsheet kann eine Formel automatisch anpassen, während Zeilen/Spalten eingefügt/entfernt werden. Microsoft Excel-Formel wird vor der Ausführung in PHP-Code konvertiert. Um die Leistung zu steigern, wird ein Berechnungscache verwendet, um das Ergebnis der Formel zu speichern. Ebenso wird jedes einzelne Arbeitsblatt von einem separaten Cache verwaltet.