✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

So lesen und schreiben Sie Tabellenkalkulationsdateien in PHP

137

Bei der Arbeit an Webanwendungen stoßen wir oft auf eine Situation, in der wir mit Tabellenkalkulationsdateien spielen müssen. Möglicherweise möchten wir Daten aus Tabellenkalkulationen lesen und verarbeiten. Manchmal ist es auch erforderlich, Tabellenkalkulationsdateien zu erstellen und zu schreiben.

In diesem Artikel lernen wir, wie man Tabellenkalkulationsdateien in PHP liest und schreibt. Der Code, den wir erklären werden, funktioniert mit 3 Arten von Tabellenkalkulationen – CSV, XLSX und ODS.

Einstieg

Als Entwickler möchte ich mit verschiedenen Paketen experimentieren, die hilfreich sein können, um reale Probleme zu lösen. Vor kurzem bin ich auf ein Paket namens box/spout gestoßen. Ich mochte die Art und Weise, wie die Bibliothek die Aufgaben erledigte. Mit dieser Bibliothek können Sie Tabellenkalkulationsdateien mit nur wenigen Codezeilen verarbeiten.

Diese Bibliothek kann Dateien jeder Größe verarbeiten. Möglicherweise haben Sie es mit einer großen Datei zu tun. Während des Vorgangs sollte die große Datei den Speicher nicht verbrauchen und ein Leistungsproblem verursachen. Die Spout-Bibliothek löst dieses Problem. Es benötigt nur 3 MB Speicher, um eine Datei zu verarbeiten.

Bevor Sie beginnen, sollte Ihr Server die folgenden Anforderungen erfüllen.

  • PHP-Version 7.2 oder höher
  • PHP-Erweiterung php_zipaktiviert
  • PHP-Erweiterung php_xmlreaderaktiviert

Der Benutzer kann mit der phpinfo()Methode überprüfen, ob alle oben genannten Anforderungen auf Ihrem Server erfüllt sind. Erstellen Sie eine temporäre PHP-Datei und platzieren Sie die folgende Anweisung darin.

Führen Sie nun diese PHP-Datei im Browser aus und Sie sehen PHP-Konfigurationen wie Version, Erweiterungen usw. Sie sollten sehen xmlreaderund zipErweiterungen sind aktiviert, wie im Screenshot unten gezeigt.

So lesen und schreiben Sie Tabellenkalkulationsdateien in PHP

Sobald Sie die Anforderungen erfüllen, installieren Sie das box/spoutPaket mit dem folgenden Befehl.

composer require box/spout

Tabellenkalkulationsdateien in PHP lesen und schreiben

Spout-Paket ermöglicht die Interaktion mit XLSX-, CSV- und ODS-Dateien. Als Beispiel schreibe ich einen Code für XLSX-Dateien.

Erstellen Sie eine XLSX-Beispieldatei users.xlsxim Stammverzeichnis und fügen Sie einige Dummy-Einträge hinzu. In meinem Fall hat die Datei folgende Einträge.

So lesen und schreiben Sie Tabellenkalkulationsdateien in PHP

Als nächstes schreibe ich einen Code in eine reader.phpDatei, der users.xlsxdie Daten liest und ausdruckt.

reader.php

<?php
require_once 'vendor/autoload.php';
 
use BoxSpoutReaderCommonCreatorReaderEntityFactory;
 
$filePath = getcwd().'/users.xlsx';
 
$reader = ReaderEntityFactory::createReaderFromFile($filePath);
 
$reader->open($filePath);
 
foreach ($reader->getSheetIterator() as $sheet) {
    foreach ($sheet->getRowIterator() as $row) {
        $cells = $row->getCells();
        foreach ($cells as $cell) {
            echo $cell->getValue();
        }
    }
}
 
$reader->close();

So einfach ist das. Mach weiter und probiere es aus.

Andererseits können wir ganz einfach eine XLSX-Datei erstellen und Daten hineinschreiben. Lassen Sie uns eine Datei erstellen writer.phpund unten den Code hinzufügen.

Schriftsteller.php

<?php
require_once 'vendor/autoload.php';
 
use BoxSpoutWriterCommonCreatorWriterEntityFactory;
use BoxSpoutCommonEntityRow;
 
$filePath = getcwd().'/new-users.xlsx';
 
$writer = WriterEntityFactory::createXLSXWriter();
 
$writer->openToFile($filePath);
 
// Here is data for XLSX file
$data = [
    ['Name', 'Email'],
    ['Steve', '[email protected]'],
    ['David', '[email protected]'],
];
 
foreach ($data as $d) {
    $cells = [
        WriterEntityFactory::createCell($d[0]),
        WriterEntityFactory::createCell($d[1]),
    ];
 
    $singleRow = WriterEntityFactory::createRow($cells);
    $writer->addRow($singleRow);
}
 
$writer->close();

Der obige Code erstellt eine new-users.xlsxDatei in Ihrem Stammverzeichnis. Wenn Sie diese Datei öffnen, werden einige Zeilen (im Code verwendet) eingefügt.

Bei CSV- und ODS-Dateien müssen Sie $writerwie folgt ein Objekt erstellen .

$filePath = getcwd().'/new-users.ods';
$writer = WriterEntityFactory::createODSWriter();
 
$filePath = getcwd().'/new-users.csv';
$writer = WriterEntityFactory::createCSVWriter();

Ich hoffe, Sie verstehen, wie man Tabellenkalkulationsdateien in PHP liest und schreibt. Ich würde gerne Ihre Gedanken und Vorschläge im Kommentarbereich unten hören.

Zum Thema passende Artikel

Aufnahmequelle: artisansweb.net

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen