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;

class Row
{
    /**
     * \PhpOffice\PhpSpreadsheet\Worksheet\Worksheet.
     *
     * @var Worksheet
     */
    private $worksheet;

    /**
     * Row index.
     *
     * @var int
     */
    private $rowIndex = 0;

    /**
     * Create a new row.
     *
< * @param Worksheet $worksheet
* @param int $rowIndex */
< public function __construct(?Worksheet $worksheet = null, $rowIndex = 1)
> public function __construct(Worksheet $worksheet, $rowIndex = 1)
{ // Set parent and row index $this->worksheet = $worksheet; $this->rowIndex = $rowIndex; } /** * Destructor. */ public function __destruct() {
< $this->worksheet = null;
> $this->worksheet = null; // @phpstan-ignore-line
} /** * Get row index.
< * < * @return int
*/
< public function getRowIndex()
> public function getRowIndex(): int
{ return $this->rowIndex; } /** * Get cell iterator. * * @param string $startColumn The column address at which to start iterating * @param string $endColumn Optionally, the column address at which to stop iterating
< * < * @return RowCellIterator
*/
< public function getCellIterator($startColumn = 'A', $endColumn = null)
> public function getCellIterator($startColumn = 'A', $endColumn = null): RowCellIterator
{ return new RowCellIterator($this->worksheet, $this->rowIndex, $startColumn, $endColumn); } /**
< * Returns bound worksheet.
> * Get column iterator. Synonym for getCellIterator(). > * > * @param string $startColumn The column address at which to start iterating > * @param string $endColumn Optionally, the column address at which to stop iterating > */ > public function getColumnIterator($startColumn = 'A', $endColumn = null): RowCellIterator > { > return $this->getCellIterator($startColumn, $endColumn); > } > > /** > * Returns a boolean true if the row contains no cells. By default, this means that no cell records exist in the > * collection for this row. false will be returned otherwise. > * This rule can be modified by passing a $definitionOfEmptyFlags value: > * 1 - CellIterator::TREAT_NULL_VALUE_AS_EMPTY_CELL If the only cells in the collection are null value > * cells, then the row will be considered empty. > * 2 - CellIterator::TREAT_EMPTY_STRING_AS_EMPTY_CELL If the only cells in the collection are empty > * string value cells, then the row will be considered empty. > * 3 - CellIterator::TREAT_NULL_VALUE_AS_EMPTY_CELL | CellIterator::TREAT_EMPTY_STRING_AS_EMPTY_CELL > * If the only cells in the collection are null value or empty string value cells, then the row > * will be considered empty.
*
< * @return Worksheet
> * @param int $definitionOfEmptyFlags > * Possible Flag Values are: > * CellIterator::TREAT_NULL_VALUE_AS_EMPTY_CELL > * CellIterator::TREAT_EMPTY_STRING_AS_EMPTY_CELL > * @param string $startColumn The column address at which to start checking if cells are empty > * @param string $endColumn Optionally, the column address at which to stop checking if cells are empty > */ > public function isEmpty(int $definitionOfEmptyFlags = 0, $startColumn = 'A', $endColumn = null): bool > { > $nullValueCellIsEmpty = (bool) ($definitionOfEmptyFlags & CellIterator::TREAT_NULL_VALUE_AS_EMPTY_CELL); > $emptyStringCellIsEmpty = (bool) ($definitionOfEmptyFlags & CellIterator::TREAT_EMPTY_STRING_AS_EMPTY_CELL); > > $cellIterator = $this->getCellIterator($startColumn, $endColumn); > $cellIterator->setIterateOnlyExistingCells(true); > foreach ($cellIterator as $cell) { > /** @scrutinizer ignore-call */ > $value = $cell->getValue(); > if ($value === null && $nullValueCellIsEmpty === true) { > continue; > } > if ($value === '' && $emptyStringCellIsEmpty === true) { > continue; > } > > return false; > } > > return true; > } > > /** > * Returns bound worksheet.
*/
< public function getWorksheet()
> public function getWorksheet(): Worksheet
{ return $this->worksheet; } }