diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 36e9eacf..fa9fd68d 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -6065,16 +6065,6 @@ parameters: count: 1 path: src/PhpSpreadsheet/Worksheet/Worksheet.php - - - message: "#^Parameter \\#1 \\$range of class PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\AutoFilter constructor expects string, null given\\.$#" - count: 1 - path: src/PhpSpreadsheet/Worksheet/Worksheet.php - - - - message: "#^Parameter \\#1 \\$range of method PhpOffice\\\\PhpSpreadsheet\\\\Worksheet\\\\AutoFilter\\:\\:setRange\\(\\) expects string, null given\\.$#" - count: 1 - path: src/PhpSpreadsheet/Worksheet/Worksheet.php - - message: "#^Parameter \\#1 \\$range of static method PhpOffice\\\\PhpSpreadsheet\\\\Cell\\\\Coordinate\\:\\:rangeDimension\\(\\) expects string, string\\|false given\\.$#" count: 1 diff --git a/src/PhpSpreadsheet/Worksheet/AutoFilter.php b/src/PhpSpreadsheet/Worksheet/AutoFilter.php index e7d633fe..893243df 100644 --- a/src/PhpSpreadsheet/Worksheet/AutoFilter.php +++ b/src/PhpSpreadsheet/Worksheet/AutoFilter.php @@ -50,10 +50,8 @@ class AutoFilter /** * Create a new AutoFilter. - * - * @param string $range Cell range (i.e. A1:E10) */ - public function __construct($range = '', ?Worksheet $worksheet = null) + public function __construct(string $range = '', ?Worksheet $worksheet = null) { $this->range = $range; $this->workSheet = $worksheet; @@ -93,13 +91,9 @@ class AutoFilter } /** - * Set AutoFilter Range. - * - * @param string $range Cell range (i.e. A1:E10) - * - * @return $this + * Set AutoFilter Cell Range. */ - public function setRange($range) + public function setRange(string $range): self { $this->evaluated = false; // extract coordinate diff --git a/src/PhpSpreadsheet/Worksheet/Worksheet.php b/src/PhpSpreadsheet/Worksheet/Worksheet.php index 24da07af..d90bdd5b 100644 --- a/src/PhpSpreadsheet/Worksheet/Worksheet.php +++ b/src/PhpSpreadsheet/Worksheet/Worksheet.php @@ -371,7 +371,7 @@ class Worksheet implements IComparable $this->defaultRowDimension = new RowDimension(null); // Default column dimension $this->defaultColumnDimension = new ColumnDimension(null); - $this->autoFilter = new AutoFilter(null, $this); + $this->autoFilter = new AutoFilter('', $this); } /** @@ -1914,12 +1914,10 @@ class Worksheet implements IComparable /** * Remove autofilter. - * - * @return $this */ - public function removeAutoFilter() + public function removeAutoFilter(): self { - $this->autoFilter->setRange(null); + $this->autoFilter->setRange(''); return $this; } diff --git a/tests/PhpSpreadsheetTests/Worksheet/AutoFilter/DeleteAutoFilterTest.php b/tests/PhpSpreadsheetTests/Worksheet/AutoFilter/DeleteAutoFilterTest.php new file mode 100644 index 00000000..f1ef1aca --- /dev/null +++ b/tests/PhpSpreadsheetTests/Worksheet/AutoFilter/DeleteAutoFilterTest.php @@ -0,0 +1,16 @@ +getSheet(); + $autoFilter = $sheet->getAutoFilter(); + $autoFilter->setRange('H2:O256'); + $sheet->removeAutoFilter(); + self::assertSame('', $sheet->getAutoFilter()->getRange()); + } +}