So lesen Sie Excel-Dateien mit PHP und FAQs
Excel ist ein sehr verbreitetes Tabellenkalkulationsdateiformat und viele Geschäfte und Daten werden in Excel-Dateien gespeichert. Wenn Sie während des Entwicklungsprozesses die Daten in der Excel-Datei in das System importieren müssen, müssen Sie PHP zum Lesen der Excel-Datei verwenden. In diesem Artikel erfahren Sie, wie Sie Excel-Dateien mit PHP lesen und häufig gestellte Fragen beantworten.
1. So lesen Sie Excel-Dateien mit PHP
1 Verwenden Sie die PHPExcel-Klassenbibliothek
PHPExcel ist eine PHP-Klassenbibliothek, die problemlos Daten in Excel-Dateien lesen kann. Sie können es mit dem Composer-Befehl installieren, indem Sie das PHPExcel-Komponentenpaket in der Composer.json-Datei hinzufügen.
Führen Sie nach Abschluss der Installation die PHPExcel-Klassenbibliothek in den Code ein, öffnen Sie die Excel-Datei mit der Methode PHPExcel_IOFactory::load() und verwenden Sie die Schleifenanweisung von PHP, um die Daten zu durchlaufen und zu lesen.
Das Folgende ist ein Beispielcode zum Lesen einer Excel-Datei:
require_once '/path/to/PHPExcel.php';
// Der Pfad hier ist der absolute Pfad der Excel-Datei
$reader = PHPExcel_IOFactory:: load('/ path/to/example.xlsx');
// Alle Arbeitsblätter in der Excel-Datei abrufen
$sheets = $reader->getAllSheets();
$data = array();
// Schleife, um alle Daten in jedem Arbeitsblatt zu lesen PHPExcel, das für bessere Leistung und umfassendere Funktionen sorgt. Es kann über den Composer-Befehl installiert werden.
$reader = IOFactory::createReaderForFile('/path/to/example.xlsx');
// Öffnen Sie die Excel-Datei und lesen Sie alle Daten in den Speicher$spreadsheet = $reader->load('/ path/to/ example.xlsx');
$data = array();
//Iterate über alle Arbeitsblätter und Zeilenforeach ($spreadsheet->getActiveSheet()->getRowIterator() as $row) {
// 获取当前工作表的数据行数和列数 $rowCount = $sheet->getHighestRow(); // 数据行数 $columnCount = PHPExcel_Cell::columnIndexFromString($sheet->getHighestColumn()); // 数据列数 // 循环获取每行数据 for ($i = 1; $i <= $rowCount; $i++) { // 循环获取每列数据 $row = array(); for ($j = 0; $j < $columnCount; $j++) { // 通过坐标获取单元格数据 $cellValue = $sheet->getCellByColumnAndRow($j, $i)->getValue(); // 将数据存入数组 $row[] = $cellValue; } // 将行数据存入数组 $data[] = $row; }
}
var_dump($data);
1. Wie gehe ich mit Leerzeichen in Excel um?
$data = array();
foreach ($reader->getActiveSheet()->getRowIterator() as $row) {$rowData = array(); // 迭代所有单元格 foreach ($row->getCellIterator() as $cell) { // 获取单元格数据 $cellValue = $cell->getValue(); // 将数据存入数组 $rowData[] = $cellValue; } // 将行数据存入数组 $data[] = $rowData;
Der Datumswert in Excel ist eigentlich eine Zahl und muss nach dem Lesen der Daten formatiert werden. Sie können die Funktion date() von PHP verwenden, um Zahlen in das Datumsformat umzuwandeln.
$data = array () ;
foreach ($reader->getActiveSheet()->getRowIterator() as $row) {$rowData = array(); foreach ($row->getCellIterator() as $cell) { $cellValue = $cell->getValue(); $cellValue = trim($cellValue); // 去除空格 $rowData[] = $cellValue; } $data[] = $rowData;
Numerische Werte in Excel können Tausendertrennzeichen, Dezimalstellen usw. haben, die nach dem Lesen der Daten formatiert werden müssen. Sie können die Funktion number_format() von PHP verwenden, um Zahlen zu formatieren.
$data = array () ;
foreach ($reader->getActiveSheet()->getRowIterator() as $row) {$rowData = array(); foreach ($row->getCellIterator() as $cell) { // 获取单元格数据 $cellValue = $cell->getValue(); // 如果当前单元格是日期值,则进行格式化 if (PHPExcel_Shared_Date::isDateTime($cell)) { $cellValue = PHPExcel_Shared_Date::ExcelToPHP( $cellValue ); // 将数字转换为时间戳 $dateValue = date("Y-m-d H:i:s", $cellValue); // 格式化日期 $rowData[] = $dateValue; } else { $rowData[] = $cellValue; } } $data[] = $rowData;
Das obige ist der detaillierte Inhalt vonWie man Excel-Dateien mit PHP liest und Antworten auf häufig gestellte Fragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!