Wie lese ich den Inhalt der Tabelle mit PHPExcel? Der folgende Artikel gibt Ihnen ohne weiteres eine detaillierte Einführung in die Methode zum Lesen des Tabelleninhalts in PHPExcel.
Führen Sie zuerst die Klasse IOFactory.php ein
require_once '../PHPExcel/IOFactory.php'; $filePath = "test.xlsx"; // 测试文件
Laden Sie die Testdatei
$inputFileType = PHPExcel_IOFactory::identify( $filePath ) Bestimmen Sie den Dateityp
$objReader = PHPExcel_IOFactory::createReader($inputFileType); Instanziieren Sie das Typobjekt
$objPHPExcel = $objReader- >load($filePath); Datei laden
Das Folgende bestimmt hauptsächlich die Excel2007- und Excel5-Typen, nämlich xlsx/xlsm/xltx/xltm- und xls/xlt-Formatdateien
try { $inputFileType = PHPExcel_IOFactory::identify($filePath); if ($inputFileType !== "Excel5" && $inputFileType !== "Excel2007" ) { unlink($filePath) && str_alert(-1,"请确保导入的文件格式正确!"); } $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($filePath); } catch(Exception $e) { unlink($filePath) && str_alert(-1,'加载文件发生错误:”'.pathinfo($filePath,PATHINFO_BASENAME).'”: '.$e->getMessage()); }
$sheet = $objPHPExcel->getSheet(0); //或者 $sheet = $objPHPExcel->getActiveSheet();
$highestRow = $sheet->getHighestRow(); $highestColumn = $sheet->getHighestColumn();
Hinweis: Manchmal werden Sie feststellen, dass Ihre Tabelle offensichtlich nur 5 Zeilen Inhalt hat , aber Sie erhalten „$highestRow“ aus 7, 8 oder mehr Zeilen. Dies kann daran liegen, dass Sie beim Bedienen Ihres Formulars versehentlich auf andere Zeilen geklickt haben. Obwohl der Inhalt nicht ausgefüllt ist, kann getHighestRow auch die Zeilennummer identifizieren Denken Sie, um die Anzahl der Zeilen mit Inhalt zu erhalten, sollten Sie getHighestDataRow und getHighestDataColumn verwenden
Der Quellcodekommentar führt die Zeichenfolge „Höchste Zeilennummer, die Daten enthält“ ein, dh die höchste Zeilennummer der Zeichenfolge, die Daten enthält.
$sheet->getCell("A1")->getValue(); $sheet->getCell("B2")->getValue();
wenn Sie keine Buchstaben verwenden möchten Zum Durchlaufen und Erhalten können Sie die numerische Indexmethode verwenden
$sheet->getCellByColumnAndRow(0,1); $sheet->getCellByColumnAndRow(1,2);
Im Folgenden wird die Tabelle durchlaufen, um den gesamten Zellinhalt zu erhalten:
$dataSet=array(); for ($column = "A"; $column <= $highestColumn; $column++) {//列数是以A列开始 for ($row = 4; $row <= $highestRow; $row++) { //行数是以第4行开始 $cell = $sheet->getCell($column . $row)->getValue(); if($cell instanceof PHPExcel_RichText) { //富文本转换字符串 $cell = $cell->__toString(); } $dataSet[$row][] = $cell; } }
$sheet->getCell('A' . $row)->isMergeRangeValueCell()
date('Y-m-d',PHPExcel_Shared_Date::ExcelToPHP($sometime);
Beispiel für das Lesen der Excel-Tabellenzeit durch PHPExcel
Das obige ist der detaillierte Inhalt vonSo lesen Sie den Inhalt der Tabelle mit PHPExcel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!