我正在尝试Box \ Spout并重写一些以前使用PHPExcel的代码。遍历行很明显,但在少数情况下,我需要直接解决一个特定的行。我在文档中找不到这个。
类似的东西:
$row = $sheet->getRow(8);
答案 0 :(得分:2)
您无法直接访问行。如果您需要第8行,则需要读取前8行...这是因为Spout不会将整个电子表格加载到内存中,因此它会逐行读取数据。
但是,您可以这样做:
foreach ($reader->getSheetIterator() as $sheet) {
foreach ($sheet->getRowIterator() as $rowIndex => $row) {
if ($rowIndex !== 8) {
continue;
}
// do something with row 8
}
}
答案 1 :(得分:1)
尝试使用迭代器的key()
方法:
$it = $sheet->getRowIterator();
$row = $it->key(8);