| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | <?phpnamespace PhpOffice\PhpSpreadsheet\Worksheet;use PhpOffice\PhpSpreadsheet\Exception as PhpSpreadsheetException;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);    }    /**     * Get loop only existing cells.     *     * @return bool     */    public function getIterateOnlyExistingCells()    {        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)    {        $this->onlyExistingCells = (bool) $value;        $this->adjustForExistingOnlyRange();    }}
 |