web-dev-qa-db-ja.com

PHPExcelから1行を取得するだけです

PHPExcelを使用して行を取得する方法を見つけようとしました。インターネットで何度も検索した後、オプションの開始行を使用して、それらを反復処理する方法を見つけました。これにより、次の解決策が得られます。

foreach ($this->objPHPExcel->getActiveSheet()->getRowIterator($rownumber) as $row) {
    $cellIterator = $row->getCellIterator();
    $cellIterator->setIterateOnlyExistingCells(false);

    foreach ($cellIterator as $cell) {
        echo $cell->getValue();
    }

    break;
}

しかし、これは少し醜い感じがします。それを行う別の方法はありますか?

12

はい!

_$row = $this->objPHPExcel->getActiveSheet()->getRowIterator($rownumber)->current();

$cellIterator = $row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);

foreach ($cellIterator as $cell) {
    echo $cell->getValue();
}
_

nextcurrentのどちらを使用するのか覚えていません。間違った行を取得している場合は、current()の代わりにnext()を使用してください。

22
Kirk Backus
$myRow = 123;

$this->objPHPExcel->getActiveSheet()
    ->rangeToArray(
        'A' . $myRow . 
        ':' . 
        $this->objPHPExcel->getActiveSheet()->getHighestColumn() . $myRow
    );

指定された行をセルの配列として返します

11
Mark Baker