Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 3.9.x will end* 10 May 2021 (12 months).
  • Bug fixes for security issues in 3.9.x will end* 8 May 2023 (36 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.

Differences Between: [Versions 39 and 311] [Versions 39 and 400] [Versions 39 and 401] [Versions 39 and 402] [Versions 39 and 403]

   1  <?php
   2  
   3  namespace PhpOffice\PhpSpreadsheet\Worksheet;
   4  
   5  use PhpOffice\PhpSpreadsheet\Exception as PhpSpreadsheetException;
   6  
   7  abstract class CellIterator implements \Iterator
   8  {
   9      /**
  10       * Worksheet to iterate.
  11       *
  12       * @var Worksheet
  13       */
  14      protected $worksheet;
  15  
  16      /**
  17       * Iterate only existing cells.
  18       *
  19       * @var bool
  20       */
  21      protected $onlyExistingCells = false;
  22  
  23      /**
  24       * Destructor.
  25       */
  26      public function __destruct()
  27      {
  28          unset($this->worksheet);
  29      }
  30  
  31      /**
  32       * Get loop only existing cells.
  33       *
  34       * @return bool
  35       */
  36      public function getIterateOnlyExistingCells()
  37      {
  38          return $this->onlyExistingCells;
  39      }
  40  
  41      /**
  42       * Validate start/end values for "IterateOnlyExistingCells" mode, and adjust if necessary.
  43       *
  44       * @throws PhpSpreadsheetException
  45       */
  46      abstract protected function adjustForExistingOnlyRange();
  47  
  48      /**
  49       * Set the iterator to loop only existing cells.
  50       *
  51       * @param bool $value
  52       *
  53       * @throws PhpSpreadsheetException
  54       */
  55      public function setIterateOnlyExistingCells($value)
  56      {
  57          $this->onlyExistingCells = (bool) $value;
  58  
  59          $this->adjustForExistingOnlyRange();
  60      }
  61  }