Laravel News veröffentlichte diesen Überblick am 22. September 2026. Er ordnet Fast Excel 5 in die Entwicklung seit dem Bericht von 2020 ein. Damals ging es um Version 2.2 mit Collection-Exporten, Browser-Downloads und Arbeitsmappen mit mehreren Tabellenblättern. Fast Excel 5 richtet sich nun stärker auf große betriebliche Importe, aufgeteilte Queue-Jobs sowie die Auswahl von Tabellen und Spalten.
<?php
use App\Models\Contact;
use Illuminate\Support\LazyCollection;
use Rap2hpoutre\FastExcel\FastExcel;
(new FastExcel)->importLazy('contacts.xlsx')
->chunk(1_000)
->each(function (LazyCollection $contacts) {
Contact::insert($contacts->all());
});Fast Excel 5 setzt PHP 8.0 oder neuer und Laravel 6 oder neuer voraus. Die aktuelle Fassung unterstützt Laravel 6 bis 13 und verwendet OpenSpout 4. Der Wechsel von box/spout zu openspout/openspout gehört zu den Änderungen der Hauptversion. Projekte auf Laravel 5 oder PHP 7, die noch Fast Excel 2 einsetzen, müssen den Abhängigkeitswechsel separat planen.
Die Bibliothek bleibt auf zeilenorientierte Verarbeitung mit geringem Speicherbedarf fokussiert. Mit Version 5.12 kam importLazy() zusammen mit Änderungen für Streaming-Exporte hinzu. Die Methode liefert Zeilen über Illuminate\Support\LazyCollection. Anwendungen können damit Datenbank-Batches verarbeiten, ohne die komplette Datei im Speicher zu halten. Das Repository enthält readme-export-bench.php mit einem Vergleich zwischen Generator-Export und dem Export einer materialisierten Collection. Der Beitrag stellt diese Technik außerdem in Zusammenhang mit großen CSV-Uploads, die sonst manuelles Parsen erfordern.
Für die Aufteilung von Tabellenverarbeitung auf Jobs stehen headerRow(), startRow() und limitRows() bereit. headerRow() liest die Feldnamen aus der tatsächlichen Kopfzeile. startRow() legt den Beginn des jeweiligen Abschnitts fest, limitRows() begrenzt dessen Größe. Vor Fast Excel 5.17 verwendete startRow() die ausgewählte Zeile zugleich als Kopfzeile. Bei späteren Abschnitten konnten dadurch Datenzeilen zu Feldnamen werden. headerRow() trennt beide Positionen und erhält das bisherige Verhalten von startRow(), solange die neue Option nicht verwendet wird. PR #418 fügte die Methode hinzu.
Fast Excel 5.16 brachte sheet() für die Auswahl eines Tabellenblatts nach Namen und onlyColumns() für die Beschränkung auf benötigte Spalten. onlyColumns() akzeptiert Spaltenbuchstaben oder Positionen ab eins, etwa A, B und H. Dadurch entfallen leere Felder, die durch Formatierungen weit außerhalb des eigentlichen Datenbereichs entstehen. limitColumns() deckt Importe mit allen Spalten bis zu einer bestimmten Position ab. Dieselbe Version erlaubte eine OpenSpout-Zellinstanz als Exportwert. PR #419 dokumentiert diese Änderungen.
Version 5.17 ergänzte escapeFormulas() mit PR #411. Die Methode wird vor dem Export aufgerufen und schreibt Werte mit dem Anfang =, +, - oder @ als Text. Tabellenprogramme behandeln solche Inhalte dadurch nicht als Formeln, wenn sie aus hochgeladenen CSV-Dateien oder nutzergesteuerten Datenbankfeldern stammen. Die Composer-Installation erfolgt mit composer require rap2hpoutre/fast-excel.




Kommentare
Noch keine Kommentare — schreib den ersten.
Starte die Diskussion
Kein Konto, kein Passwort nötig — gib einfach deine E-Mail-Adresse ein, wir senden dir einen einmaligen Anmelde-Link. Beim ersten Mal bist du damit automatisch angemeldet.
Deine Bewertung wird nach der Anmeldung automatisch übernommen.
Schau in dein Postfach
Wir haben einen Anmelde-Link an … gesendet. Öffne ihn auf diesem Gerät — dieser Tab meldet dich automatisch an.
Nichts angekommen? Wirf einen Blick in den Spam-Ordner — und markiere die Mail dort als „Kein Spam“, dann landet sie künftig direkt im Postfach.