我必須遍歷 xls 文檔前兩列的所有行。問題是該特定文檔的第一列是“G”,索引為 7。有沒有辦法獲得第一列索引,因?yàn)槲也幌雽ζ溥M(jìn)行硬編碼。我的循環(huán):$spreadsheet =\PhpOffice\PhpSpreadsheet\IOFactory::load($path);$worksheet = $spreadsheet->getActiveSheet();$highestRow = $worksheet->getHighestRow();$rows = [];for ($row = 1; $row <= $highestRow; ++$row) { // I WANT TO REPLACE HARD-CODED VALUES OF 7 AND 8 // WITH $firstCol and $firstCol+1 for ($col = 7; $col <= 8; ++$col) { $value = $worksheet->getCellByColumnAndRow($col, $row)->getValue(); $rows[$row][$col] = $value; }}
1 回答

月關(guān)寶盒
TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個贊
您可以添加一個while循環(huán)來跳過空單元格。試試這個:
$rows = [];
for ($row = 1; $row <= $highestRow; ++$row) {
$col = 1;
$cell = $worksheet->getCellByColumnAndRow($col, $row);
// Skip empty cells
while (in_array($cell->getValue(), [null, ''], true)) {
$col++;
$cell = $worksheet->getCellByColumnAndRow($col, $row);
}
$maxCol = $col + 1;
for ( ; $col <= $maxCol; ++$col) {
$value = $worksheet->getCellByColumnAndRow($col, $row)->getValue();
$rows[$row][$col] = $value;
}
}
- 1 回答
- 0 關(guān)注
- 140 瀏覽
添加回答
舉報(bào)
0/150
提交
取消