只需从PHPExcel获取一行
我试图找到一种使用PHPExcel获取行的方法。在互联网上进行了无数次搜索之后,我只找到了一种迭代的方法,其中有一个可选的起始行。这将导致以下解决方案:只需从PHPExcel获取一行,php,phpexcel,Php,Phpexcel,我试图找到一种使用PHPExcel获取行的方法。在互联网上进行了无数次搜索之后,我只找到了一种迭代的方法,其中有一个可选的起始行。这将导致以下解决方案: foreach ($this->objPHPExcel->getActiveSheet()->getRowIterator($rownumber) as $row) { $cellIterator = $row->getCellIterator(); $cellIterator->setIterat
foreach ($this->objPHPExcel->getActiveSheet()->getRowIterator($rownumber) as $row) {
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
foreach ($cellIterator as $cell) {
echo $cell->getValue();
}
break;
}
但这感觉有点难看。还有别的方法吗?是的
$row = $this->objPHPExcel->getActiveSheet()->getRowIterator($rownumber)->current();
$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
foreach ($cellIterator as $cell) {
echo $cell->getValue();
}
我不记得你是应该使用next
还是current
。如果获取的行不正确,请使用current()
而不是next()
将以单元格数组的形式返回指定的行谢谢,我以为它会朝这个方向,只是不知道在
foreach
中循环使用的方法。PHPExcel的行和单元格迭代器都实现了标准的PHP接口;因此,所有标准迭代器方法-current()、key()、next()、revind()和valid()都可用。此外,它们还实现seek()、prev()和resetStart()方法,如果您使用第一行或第一列以外的行或列值实例化迭代器,则后者将非常有用。是否可以直接获取数组而不是迭代器
$myRow = 123;
$this->objPHPExcel->getActiveSheet()
->rangeToArray(
'A' . $myRow .
':' .
$this->objPHPExcel->getActiveSheet()->getHighestColumn() . $myRow
);