Excel-Dateien sind ein sehr weit verbreitetes und gängiges Datenquellenformat bei der Entwicklung von Webanwendungen. Allerdings ist das Datenformat in der Excel-Datei möglicherweise nicht mit unserer Zielanwendung kompatibel. Daher benötigen wir eine Methode, um Excel-Daten in das von uns benötigte Datenformat zu konvertieren. In diesem Artikel erfahren Sie, wie Sie Excel-Dateien in PHP importieren und das Datenformat konvertieren.
Schritt 1: PHPExcel-Bibliothek installieren
PHPExcel ist eine PHP-Bibliothek zum Lesen und Schreiben von Excel-Dateien. Wir können diese Bibliothek mit Composer installieren. Geben Sie im Terminal den folgenden Befehl ein:
composer require phpoffice/phpexcel
Dadurch werden die PHPExcel-Bibliothek und ihre Abhängigkeiten heruntergeladen und installiert.
Schritt zwei: Schreiben Sie den Code
In diesem Schritt schreiben wir den PHP-Code, um die Excel-Datei zu lesen und sie in das benötigte Datenformat zu konvertieren. Der folgende Code zeigt, wie man eine Excel-Datei über PHPExcel liest und in ein Array umwandelt:
<?php require_once 'vendor/autoload.php'; $inputFileType = 'Excel5'; //xls格式 $inputFileName = 'example.xls'; $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($inputFileName); $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); print_r($sheetData); ?>
Im obigen Beispiel geben wir zunächst den Excel-Dateityp und den Dateinamen an, die gelesen werden sollen. Anschließend erstellen wir ein PHPExcel-Reader-Objekt und verwenden dessen Methode „load()“, um die Excel-Datei zu öffnen. Schließlich verwenden wir die Methode toarray() des PHPExcel-Objekts, um die Excel-Daten in ein Array umzuwandeln und das Array zu drucken.
Jetzt haben wir die Excel-Daten in ein Array umgewandelt. Allerdings erfordert unsere Zielanwendung möglicherweise ein anderes Datenformat, sodass wir weitere Formatkonvertierungen für dieses Array durchführen müssen.
Hier ist der Beispielcode zum Konvertieren von Excel-Daten in das JSON-Format:
<?php require_once 'vendor/autoload.php'; $inputFileType = 'Excel5'; //xls格式 $inputFileName = 'example.xls'; $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($inputFileName); $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); $jsonData = json_encode($sheetData); echo $jsonData; ?>
Im obigen Beispiel verwenden wir die json_encode()-Funktion von PHP, um das Excel-Array in das JSON-Format zu konvertieren und auszudrucken.
Schritt drei: Datenvalidierung und -konvertierung
Im zweiten Schritt haben wir die Excel-Daten in das von uns benötigte Format konvertiert, müssen die Daten aber auch validieren und konvertieren. Beispielsweise können wir Datum/Uhrzeit in das Standardzeitformat, eine numerische Zeichenfolge in einen numerischen Typ usw. konvertieren.
Hier ist ein einfaches Beispiel für die Konvertierung des Datum-Uhrzeit-Formats:
<?php require_once 'vendor/autoload.php'; $inputFileType = 'Excel5'; //xls格式 $inputFileName = 'example.xls'; $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($inputFileName); $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); foreach($sheetData as $key => $row) { if($key > 1) { $sheetData[$key][3] = strtotime($row[3]); } } $jsonData = json_encode($sheetData); echo $jsonData; ?>
Im obigen Beispiel durchlaufen wir jede Zeile im Array und konvertieren die Datum-Uhrzeit in Spalte 4 in das Unix-Zeitstempelformat.
Fazit
Durch die Verwendung der PHPExcel-Bibliothek können wir Excel-Daten einfach in eine PHP-Anwendung importieren und in das von uns benötigte Format konvertieren. Bevor wir jedoch eine Formatkonvertierung durchführen, müssen wir die Aspekte der Datenvalidierung und -konvertierung sorgfältig prüfen, um die Richtigkeit und Konsistenz der Daten sicherzustellen.
Das obige ist der detaillierte Inhalt vonSo lesen Sie Excel-Daten in PHP und konvertieren sie in ein bestimmtes Format. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!