Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
 
3
namespace PhpOffice\PhpSpreadsheet;
4
 
5
use PhpOffice\PhpSpreadsheet\Cell\Coordinate;
6
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
7
 
8
class NamedRange extends DefinedName
9
{
10
    /**
11
     * Create a new Named Range.
12
     */
13
    public function __construct(
14
        string $name,
15
        ?Worksheet $worksheet = null,
16
        string $range = 'A1',
17
        bool $localOnly = false,
18
        ?Worksheet $scope = null
19
    ) {
20
        if ($worksheet === null && $scope === null) {
21
            throw new Exception('You must specify a worksheet or a scope for a Named Range');
22
        }
23
        parent::__construct($name, $worksheet, $range, $localOnly, $scope);
24
    }
25
 
26
    /**
27
     * Get the range value.
28
     */
29
    public function getRange(): string
30
    {
31
        return $this->value;
32
    }
33
 
34
    /**
35
     * Set the range value.
36
     */
37
    public function setRange(string $range): self
38
    {
39
        if (!empty($range)) {
40
            $this->value = $range;
41
        }
42
 
43
        return $this;
44
    }
45
 
46
    public function getCellsInRange(): array
47
    {
48
        $range = $this->value;
49
        if (substr($range, 0, 1) === '=') {
50
            $range = substr($range, 1);
51
        }
52
 
53
        return Coordinate::extractAllCellReferencesInRange($range);
54
    }
55
}