Просто введите одну строку из PHPExcel
Я попытался найти способ просто получить строку, используя PHPExcel. После многочисленных поисков в Интернете я нашел способ перебирать их с дополнительной стартовой строкой. Это приводит к следующему решению:
foreach ($this->objPHPExcel->getActiveSheet()->getRowIterator($rownumber) as $row) {
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
foreach ($cellIterator as $cell) {
echo $cell->getValue();
}
break;
}
но это кажется немного уродливым. Есть ли другой способ сделать это?
Ответы
Ответ 1
Да!
$row = $this->objPHPExcel->getActiveSheet()->getRowIterator($rownumber)->current();
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
foreach ($cellIterator as $cell) {
echo $cell->getValue();
}
Я не помню, если вы должны использовать next
или current
. Если вы получаете неправильную строку, используйте current()
вместо next()
.
Ответ 2
$myRow = 123;
$this->objPHPExcel->getActiveSheet()
->rangeToArray(
'A' . $myRow .
':' .
$this->objPHPExcel->getActiveSheet()->getHighestColumn() . $myRow
);
вернет указанную строку в виде массива ячеек