Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.
<?php

namespace PhpOffice\PhpSpreadsheet\Worksheet;

< use Iterator;
> use Iterator as NativeIterator; > use PhpOffice\PhpSpreadsheet\Cell\Cell; > use PhpOffice\PhpSpreadsheet\Collection\Cells;
< abstract class CellIterator implements Iterator
> /** > * @template TKey > * > * @implements NativeIterator<TKey, Cell> > */ > abstract class CellIterator implements NativeIterator
{
> public const TREAT_NULL_VALUE_AS_EMPTY_CELL = 1; /** > * Worksheet to iterate. > public const TREAT_EMPTY_STRING_AS_EMPTY_CELL = 2; * > * @var Worksheet > public const IF_NOT_EXISTS_RETURN_NULL = false; */ > protected $worksheet; > public const IF_NOT_EXISTS_CREATE_NEW = true; >
/**
> * Cell Collection to iterate. * Iterate only existing cells. > * * > * @var Cells * @var bool > */ */ > protected $cellCollection; protected $onlyExistingCells = false; > > /**
/**
> * If iterating all cells, and a cell doesn't exist, identifies whether a new cell should be created, * Destructor. > * or if the iterator should return a null value. */ > * public function __destruct() > * @var bool { > */ $this->worksheet = null; > protected $ifNotExists = self::IF_NOT_EXISTS_CREATE_NEW; } > > /**
< $this->worksheet = null;
> // @phpstan-ignore-next-line > $this->worksheet = $this->cellCollection = null; > } > > public function getIfNotExists(): bool > { > return $this->ifNotExists; > } > > public function setIfNotExists(bool $ifNotExists = self::IF_NOT_EXISTS_CREATE_NEW): void > { > $this->ifNotExists = $ifNotExists;
* 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.
> * Validate start/end values for 'IterateOnlyExistingCells' mode, and adjust if necessary.
*/
< abstract protected function adjustForExistingOnlyRange();
> abstract protected function adjustForExistingOnlyRange(): void;
/** * Set the iterator to loop only existing cells.
< * < * @param bool $value
*/
< public function setIterateOnlyExistingCells($value): void
> public function setIterateOnlyExistingCells(bool $value): void
{ $this->onlyExistingCells = (bool) $value; $this->adjustForExistingOnlyRange(); } }