Heim  >  Artikel  >  PHP-Framework  >  Laravel-Entwicklung: Wie importiere und exportiere ich Excel-Dateien mit Laravel Excel?

Laravel-Entwicklung: Wie importiere und exportiere ich Excel-Dateien mit Laravel Excel?

王林
王林Original
2023-06-15 16:13:313118Durchsuche

Laravel-Entwicklung: Wie importiere und exportiere ich Excel-Dateien mit Laravel Excel?

Mit der rasanten Entwicklung des Internets gewinnt die Datenverarbeitung insbesondere im Unternehmensdatenmanagement immer mehr an Bedeutung. Excel-Dateien sind zu einem unverzichtbaren Werkzeug für Unternehmensbüros geworden, da sie Daten problemlos speichern, bearbeiten, berechnen und analysieren können. Laravel ist ein weit verbreitetes PHP-Framework, und Laravel Excel ist ein für Laravel entwickeltes Erweiterungspaket für Excel-Dateioperationen, mit dem Excel-Dateien problemlos importiert und exportiert werden können.

Dieser Artikel führt Sie ausführlich in die Verwendung von Laravel Excel ein. In diesem Artikel erfahren Sie, wie Sie Laravel Excel installieren und Excel-Dateien importieren und exportieren.

1. Installieren Sie Laravel Excel.

Installieren Sie Laravel Excel über Composer im Terminal

Wenn Sie eine Laravel-Version größer oder gleich 5.5 verwenden, müssen Sie Dienstanbieter nicht manuell hinzufügen, diese Dienstanbieter werden automatisch zur Konfiguration hinzugefügt.

Veröffentlichen Sie über den Artisan-Befehl im Terminal:

composer require maatwebsite/excel

Dadurch wird automatisch die folgende Konfigurationsdatei und Vorlagendatei generiert:

MaatwebsiteExcelExcelServiceProvider::class,

2. Laravel Excel konfigurieren

Die Konfigurationsdatei excel.php enthält alle Konfigurationsoptionen für Laravel Excel. Diese Optionen können direkt in der .env-Datei definiert oder in der Datei config/excel.php konfiguriert werden. Nachfolgend finden Sie eine detaillierte Beschreibung aller möglichen Optionen.

'Excel' => MaatwebsiteExcelFacadesExcel::class,

Die Option „default_driver“ gibt den zu verwendenden Standardtreiber an. Hier gibt es zwei Optionen: lokal, ftp.

php artisan vendor:publish --provider="MaatwebsiteExcelExcelServiceProvider"

Die Option „Cache“ legt Caching-Optionen fest. Caching kann die Geschwindigkeit verbessern, insbesondere bei der Verarbeitung großer Datenmengen. Wenn Caching aktiviert ist, setzen Sie „cache_driver“ auf „laravel“ oder „memcached“.

config/excel.php
resources/views/vendor/excel

Option temp_path gibt den Dateisystempfad an, der zum Speichern temporärer Dateien verwendet werden soll.

'default_driver' => 'local',

Die Option „csv“ ermöglicht die Konfiguration von CSV-Import- und Exportoptionen, hauptsächlich einschließlich der folgenden Optionen:

Trennzeichen: Trennzeichen, wie zum Beispiel: Komma, Semikolon, Tab usw.

Einschließung: Das Einschließungssymbol der Spalte.

escape_character: Escape-Zeichen.

input_encoding: Eingabekodierung.

output_encoding: Ausgabekodierung.

use_bom: Ob die Bom-Byte-Reihenfolge verwendet werden soll.

'cache' => [
    'enabled' => true,
    'driver' => 'laravel',
],

Die Option „Exports“ ermöglicht die Konfiguration von Exportoptionen, die hauptsächlich die folgenden Optionen umfassen:

force_resave: ob das Speichern erzwungen werden soll.

ignore_empty: Ob leere Zellen ignoriert werden sollen.

pre_calculate_formulas: Ob Formeln vorab berechnet werden sollen.

maximum_recursion: Die maximale Anzahl von Rekursionsebenen.

3. Excel-Dateien exportieren

Laravel Excel bietet gute Unterstützung für den Export von Excel-Dateien. Als nächstes zeigen wir, wie man Laravel Excel für den Datenexport verwendet.

Öffnen Sie zunächst die Controller-Datei, erstellen Sie eine neue Excel-Datei und exportieren Sie die Daten:

'temp_path' => sys_get_temp_dir(),

In der obigen Controller-Methode haben wir eine Excel-Datei mit der Methode Excel::download() erstellt. Diese Methode akzeptiert zwei Parameter:

Der erste Parameterbenutzer sind die exportierten Daten. Wir implementieren den Datenexport, indem wir eine UsersExport-Hilfsklasse mit einer toExcel()-Methode erstellen.

    Der zweite Parameter ist der Dateiname, er ist erforderlich.
  • Der Inhalt der UsersExport-Datei lautet wie folgt:
  • 'csv' => [
        'delimiter' => ',',
        'enclosure' => '"',
        'escape_character' => '\',
        'input_encoding' => 'UTF-8',
        'output_encoding' => 'UTF-8',
        'use_bom' => false,
    ],
Diese Klasse muss die MaatwebsiteExcelConcernsFromCollection-Schnittstelle implementieren. Wir können sehen, dass FromCollection eine Sammlungsklasse zurückgibt, wobei die Methode get() alle in der Klasse gespeicherten Benutzer zurückgibt.

Auf diese Weise haben wir den Exportvorgang von Laravel Excel abgeschlossen.

4. Excel-Dateien importieren

Laravel Excel bietet auch eine sehr gute Unterstützung für den Importvorgang von Excel-Dateien. Als Nächstes zeigen wir, wie Sie mit Laravel Excel Daten aus Excel-Dateien importieren.

Öffnen Sie zunächst die Controller-Datei und importieren Sie die Daten in der Excel-Datei in die Datenbank:

'exports' => [
    'force_resave' => false,
    'ignore_empty' => false,
    'pre_calculate_formulas' => false,
    'maximum_recursion' => 50,
],

In der obigen Controller-Methode verwenden wir die Methode Excel::import(), um die Excel-Datei zu importieren. Diese Methode akzeptiert zwei Parameter:

Der erste Parameter ist UsersImport, eine Klasse zum Importieren von Excel-Dateien in die Datenbank.

    Der zweite Parameter ist die zu importierende Excel-Datei, die die zu importierenden Daten enthält.
  • Werfen wir nun einen Blick auf die UsersImport-Klasse:
  • <?php
    
    namespace AppHttpControllers;
    
    use MaatwebsiteExcelFacadesExcel;
    use AppExportsUsersExport;
    
    class ExportController extends Controller
    {
        public function export()
        {
            return Excel::download(new UsersExport, 'users.xlsx');
        }
    }
Wie Sie sehen können, muss diese Klasse die MaatwebsiteExcelConcernsToModel-Schnittstelle implementieren, die eine model()-Methode definiert. Mit dieser Methode werden die Attribute des neuen Benutzers ermittelt.

In der model()-Methode verwenden wir die Datenzeileninformationen des Arrays, um die Attribute des Benutzers zu speichern. Hier gehen wir davon aus, dass die erste Zeile in der Excel-Datei der Benutzername ist, die zweite Zeile die E-Mail-Adresse und die dritte Zeile das Passwort.

So verwenden wir Laravel Excel zum Importieren und Exportieren von Excel-Dateien. Ich glaube, Sie haben die grundlegende Verwendung und einige erweiterte Funktionen von Laravel Excel kennengelernt. Ich hoffe, dieser Artikel ist hilfreich für Ihr Laravel-Lernen.

Das obige ist der detaillierte Inhalt vonLaravel-Entwicklung: Wie importiere und exportiere ich Excel-Dateien mit Laravel Excel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn