# tablepress/3.4/libraries/vendor/PhpSpreadsheet/NamedRange.php

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

- Page: https://pluginprobe.com/plugins/tablepress/3.4/code/libraries/vendor/PhpSpreadsheet/NamedRange.php
- Raw: https://pluginprobe.com/plugins/tablepress/3.4/raw/libraries/vendor/PhpSpreadsheet/NamedRange.php
- Modified: 2025-10-28T04:41:40+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/NamedRange.php#L10-L20`.

```php
<?php

namespace TablePress\PhpOffice\PhpSpreadsheet;

use TablePress\PhpOffice\PhpSpreadsheet\Cell\Coordinate;
use TablePress\PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;

class NamedRange extends DefinedName
{
	/**
	 * Create a new Named Range.
	 */
	public function __construct(
		string $name,
		?Worksheet $worksheet = null,
		string $range = 'A1',
		bool $localOnly = false,
		?Worksheet $scope = null
	) {
		if ($worksheet === null && $scope === null) {
			throw new Exception('You must specify a worksheet or a scope for a Named Range');
		}
		parent::__construct($name, $worksheet, $range, $localOnly, $scope);
	}

	/**
	 * Get the range value.
	 */
	public function getRange(): string
	{
		return $this->value;
	}

	/**
	 * Set the range value.
	 */
	public function setRange(string $range): self
	{
		if (!empty($range)) {
			$this->value = $range;
		}

		return $this;
	}

	/** @return string[] */
	public function getCellsInRange(): array
	{
		$range = $this->value;
		if (str_starts_with($range, '=')) {
			$range = (string) substr($range, 1);
		}

		return Coordinate::extractAllCellReferencesInRange($range);
	}
}

```
