Moodle PHP Documentation 5.1
Moodle 5.1dev (Build: 20250711) (9addea9f0ac)
PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter Class Reference
Inheritance diagram for PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter:

Public Member Functions

 __construct (AddressRange|string|array $range='', ?Worksheet $worksheet=null)
 Create a new AutoFilter.
 
 __clone ()
 Implement PHP __clone to create a deep clone, not just a shallow copy.
 
 __toString ()
 toString method replicates previous behavior by returning the range if object is referenced as a property of its parent.
 
 autoExtendRange (int $startRow, int $endRow)
 Magic Range Auto-sizing.
 
 clearColumn (string $column)
 Clear a specified AutoFilter Column.
 
 getColumn (string $column)
 Get a specified AutoFilter Column.
 
 getColumnByOffset (int $columnOffset)
 Get a specified AutoFilter Column by it's offset.
 
 getColumnOffset (string $column)
 Get a specified AutoFilter Column Offset within the defined AutoFilter range.
 
 getColumns ()
 Get all AutoFilter Columns.
 
 getEvaluated ()
 
 getParent ()
 Get AutoFilter Parent Worksheet.
 
 getRange ()
 Get AutoFilter Range.
 
 setColumn (AutoFilter\Column|string $columnObjectOrString)
 Set AutoFilter.
 
 setEvaluated (bool $value)
 
 setParent (?Worksheet $worksheet=null)
 Set AutoFilter Parent Worksheet.
 
 setRange (AddressRange|string|array $range='')
 Set AutoFilter Cell Range.
 
 setRangeToMaxRow ()
 
 shiftColumn (string $fromColumn, string $toColumn)
 Shift an AutoFilter Column Rule to a different column.
 
 showHideRows ()
 Apply the AutoFilter rules to the AutoFilter Range.
 
 testColumnInRange (string $column)
 Validate that the specified column is in the AutoFilter range.
 

Static Protected Member Functions

static filterTestInCustomDataSet (mixed $cellValue, array $ruleSet)
 Test if cell value is within a set of values defined by a ruleset.
 
static filterTestInDateGroupSet (mixed $cellValue, array $dataSet)
 Test if cell value is in the defined set of Excel date values.
 
static filterTestInPeriodDateSet (mixed $cellValue, array $monthSet)
 Test if cell date value is matches a set of values defined by a set of months.
 
static filterTestInSimpleDataSet (mixed $cellValue, array $dataSet)
 Test if cell value is in the defined set of values.
 

Constructor & Destructor Documentation

◆ __construct()

PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter::__construct ( AddressRange|string|array $range = '',
?Worksheet $worksheet = null )

Create a new AutoFilter.

Parameters
AddressRange<CellAddress>|AddressRange<int>|AddressRange<string>|array{0int, 1: int, 2: int, 3: int}|array{0: int, 1: int}|string $range A simple string containing a Cell range like 'A1:E10' is permitted or passing in an array of [$fromColumnIndex, $fromRow, $toColumnIndex, $toRow] (e.g. [3, 5, 6, 8]), or an AddressRange object.

Member Function Documentation

◆ autoExtendRange()

PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter::autoExtendRange ( int $startRow,
int $endRow )

Magic Range Auto-sizing.

For a single row rangeSet, we follow MS Excel rules, and search for the first empty row to determine our range.

◆ clearColumn()

PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter::clearColumn ( string $column)

Clear a specified AutoFilter Column.

Parameters
string$columnColumn name (e.g. A)
Return values
$this

◆ filterTestInCustomDataSet()

static PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter::filterTestInCustomDataSet ( mixed $cellValue,
array $ruleSet )
staticprotected

Test if cell value is within a set of values defined by a ruleset.

Parameters
mixed[]$ruleSet

◆ filterTestInDateGroupSet()

static PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter::filterTestInDateGroupSet ( mixed $cellValue,
array $dataSet )
staticprotected

Test if cell value is in the defined set of Excel date values.

Parameters
array{blanksbool, filterValues: array<string,array<string,string>>} $dataSet

◆ filterTestInPeriodDateSet()

static PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter::filterTestInPeriodDateSet ( mixed $cellValue,
array $monthSet )
staticprotected

Test if cell date value is matches a set of values defined by a set of months.

Parameters
mixed[]$monthSet

◆ filterTestInSimpleDataSet()

static PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter::filterTestInSimpleDataSet ( mixed $cellValue,
array $dataSet )
staticprotected

Test if cell value is in the defined set of values.

Parameters
array{blanksbool, filterValues: array<string,array<string,string>>} $dataSet

◆ getColumn()

PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter::getColumn ( string $column)

Get a specified AutoFilter Column.

Parameters
string$columnColumn name (e.g. A)

◆ getColumnByOffset()

PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter::getColumnByOffset ( int $columnOffset)

Get a specified AutoFilter Column by it's offset.

Parameters
int$columnOffsetColumn offset within range (starting from 0)

◆ getColumnOffset()

PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter::getColumnOffset ( string $column)

Get a specified AutoFilter Column Offset within the defined AutoFilter range.

Parameters
string$columnColumn name (e.g. A)
Return values
intThe offset of the specified column within the autofilter range

◆ getColumns()

PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter::getColumns ( )

Get all AutoFilter Columns.

Return values
AutoFilter::Column[]

◆ setColumn()

PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter::setColumn ( AutoFilter\Column|string $columnObjectOrString)

Set AutoFilter.

Parameters
AutoFilter::Column | string$columnObjectOrStringA simple string containing a Column ID like 'A' is permitted
Return values
$this

◆ setParent()

PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter::setParent ( ?Worksheet $worksheet = null)

Set AutoFilter Parent Worksheet.

Return values
$this

◆ setRange()

PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter::setRange ( AddressRange|string|array $range = '')

Set AutoFilter Cell Range.

Parameters
AddressRange<CellRange>|array{0int, 1: int, 2: int, 3: int}|array{0: int, 1: int}|string $range A simple string containing a Cell range like 'A1:E10' or a Cell address like 'A1' is permitted or passing in an array of [$fromColumnIndex, $fromRow, $toColumnIndex, $toRow] (e.g. [3, 5, 6, 8]), or an AddressRange object.

◆ shiftColumn()

PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter::shiftColumn ( string $fromColumn,
string $toColumn )

Shift an AutoFilter Column Rule to a different column.

Note: This method bypasses validation of the destination column to ensure it is within this AutoFilter range. Nor does it verify whether any column rule already exists at $toColumn, but will simply override any existing value. Use with caution.

Parameters
string$fromColumnColumn name (e.g. A)
string$toColumnColumn name (e.g. B)
Return values
$this

◆ showHideRows()

PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter::showHideRows ( )

Apply the AutoFilter rules to the AutoFilter Range.

Return values
$this

◆ testColumnInRange()

PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter::testColumnInRange ( string $column)

Validate that the specified column is in the AutoFilter range.

Parameters
string$columnColumn name (e.g. A)
Return values
intThe column offset within the autofilter range

The documentation for this class was generated from the following file: