Heim  >  Artikel  >  Backend-Entwicklung  >  Wie man Excel-Dateien mit PHP liest und Antworten auf häufig gestellte Fragen

Wie man Excel-Dateien mit PHP liest und Antworten auf häufig gestellte Fragen

PHPz
PHPzOriginal
2023-06-09 11:41:343374Durchsuche

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.

Das Folgende ist ein Beispielcode zum Lesen einer Excel-Datei mit PhpSpreadsheet:

require_once '/path/to/vendor/autoload.php';

use PhpOfficePhpSpreadsheetIOFactory;

// Der Pfad hier ist der absolute Pfad des Excel-Datei

$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 Zeilen

foreach ($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);

2. Häufig gestellte Fragen


1. Wie gehe ich mit Leerzeichen in Excel um?

Unnötige Leerzeichen erscheinen oft in Excel-Tabellen und müssen beim Lesen von Daten verarbeitet werden. Mit der Funktion trim() können Sie Leerzeichen an beiden Enden einer Zeichenfolge entfernen.

Der folgende Beispielcode zeigt, wie Leerzeichen beim Lesen von Excel-Daten entfernt werden:

require_once '/path/to/PHPExcel.php';

$reader = PHPExcel_IOFactory::load('/path/to/example.xlsx ' );

$data = array();

foreach ($reader->getActiveSheet()->getRowIterator() as $row) {

$rowData = array();
// 迭代所有单元格
foreach ($row->getCellIterator() as $cell) {
    // 获取单元格数据
    $cellValue = $cell->getValue();
    // 将数据存入数组
    $rowData[] = $cellValue;
}
// 将行数据存入数组
$data[] = $rowData;

}

var_dump($data);

2 mit Datumsangaben in Excel?


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.

Das Folgende ist der Beispielcode:

require_once '/path/to/PHPExcel.php';

$reader = PHPExcel_IOFactory::load('/path/to/example.xlsx');

$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;

}

var_dump($data);

3. Wie gehe ich mit Zahlenformaten in Excel um?


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.

Das Folgende ist der Beispielcode:

require_once '/path/to/PHPExcel.php';

$reader = PHPExcel_IOFactory::load('/path/to/example.xlsx');

$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;

}

var_dump($data);

Oben erfahren Sie, wie Sie Excel-Dateien mit PHP lesen und Antworten auf häufig gestellte Fragen. Mit der Klassenbibliothek PHPExcel oder PhpSpreadsheet können Sie Excel-Dateidaten problemlos lesen. Gleichzeitig müssen Sie auf den Umgang mit Leerzeichen, Datumsangaben und Zahlenformaten in Excel achten.

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!

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