# tablepress/3.4/libraries/vendor/PhpSpreadsheet/Worksheet/Row.php

TablePress – Tables in WordPress made easy, version 3.4. 111 lines.

- Page: https://pluginprobe.com/plugins/tablepress/3.4/code/libraries/vendor/PhpSpreadsheet/Worksheet/Row.php
- Raw: https://pluginprobe.com/plugins/tablepress/3.4/raw/libraries/vendor/PhpSpreadsheet/Worksheet/Row.php
- Modified: 2025-01-08T09:25:54+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/tablepress/3.4/code/libraries/vendor/PhpSpreadsheet/Worksheet/Row.php#L10-L20`.

```php
<?php

namespace TablePress\PhpOffice\PhpSpreadsheet\Worksheet;

class Row
{
	private Worksheet $worksheet;

	/**
	 * Row index.
	 */
	private int $rowIndex;

	/**
	 * Create a new row.
	 */
	public function __construct(Worksheet $worksheet, int $rowIndex = 1)
	{
		// Set parent and row index
		$this->worksheet = $worksheet;
		$this->rowIndex = $rowIndex;
	}

	/**
	 * Destructor.
	 */
	public function __destruct()
	{
		unset($this->worksheet);
	}

	/**
	 * Get row index.
	 */
	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
	 */
	public function getCellIterator(string $startColumn = 'A', ?string $endColumn = null, bool $iterateOnlyExistingCells = false): RowCellIterator
	{
		return new RowCellIterator($this->worksheet, $this->rowIndex, $startColumn, $endColumn, $iterateOnlyExistingCells);
	}

	/**
	 * 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(string $startColumn = 'A', ?string $endColumn = null, bool $iterateOnlyExistingCells = false): RowCellIterator
	{
		return $this->getCellIterator($startColumn, $endColumn, $iterateOnlyExistingCells);
	}

	/**
	 * 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.
	 *
	 * @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, string $startColumn = 'A', ?string $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) {
			$value = $cell->getValue();
			if ($value === null && $nullValueCellIsEmpty === true) {
				continue;
			}
			if ($value === '' && $emptyStringCellIsEmpty === true) {
				continue;
			}

			return false;
		}

		return true;
	}

	/**
	 * Returns bound worksheet.
	 */
	public function getWorksheet(): Worksheet
	{
		return $this->worksheet;
	}
}

```
