See Release Notes
Long Term Support Release
<?php namespace PhpOffice\PhpSpreadsheet\Worksheet;< use PhpOffice\PhpSpreadsheet\Exception as PhpSpreadsheetException;> use Iterator; > use PhpOffice\PhpSpreadsheet\Cell\Cell;< abstract class CellIterator implements \Iterator> /** > * @template TKey > * @implements Iterator<TKey, Cell> > */ > abstract class CellIterator implements Iterator{ /** * Worksheet to iterate. * * @var Worksheet */ protected $worksheet; /** * Iterate only existing cells. * * @var bool */ protected $onlyExistingCells = false; /** * Destructor. */ public function __destruct() {< unset($this->worksheet);> // @phpstan-ignore-next-line > $this->worksheet = null;} /** * Get loop only existing cells.< * < * @return bool*/< public function getIterateOnlyExistingCells()> public function getIterateOnlyExistingCells(): bool{ return $this->onlyExistingCells; } /** * Validate start/end values for "IterateOnlyExistingCells" mode, and adjust if necessary.< * < * @throws PhpSpreadsheetException*/ abstract protected function adjustForExistingOnlyRange(); /** * Set the iterator to loop only existing cells.< * < * @param bool $value < * < * @throws PhpSpreadsheetException*/< public function setIterateOnlyExistingCells($value)> public function setIterateOnlyExistingCells(bool $value): void{ $this->onlyExistingCells = (bool) $value; $this->adjustForExistingOnlyRange(); } }