Properties

$range

$range : string

Autofilter Range.

Type

string

$fromReplace

$fromReplace : array

Search/Replace arrays to convert Excel wildcard syntax to a regexp syntax for preg_matching.

Type

array

$toReplace

$toReplace : 

Type

Methods

__construct()

__construct(string  $pRange = '', \PhpOffice\PhpSpreadsheet\Worksheet\Worksheet  $pSheet = null) 

Create a new AutoFilter.

Parameters

string $pRange

Cell range (i.e. A1:E10)

\PhpOffice\PhpSpreadsheet\Worksheet\Worksheet $pSheet

getRange()

getRange() : string

Get AutoFilter Range.

Returns

string

setRange()

setRange(string  $pRange) : \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter

Set AutoFilter Range.

Parameters

string $pRange

Cell range (i.e. A1:E10)

Throws

\PhpOffice\PhpSpreadsheet\Exception

Returns

\PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter

testColumnInRange()

testColumnInRange(string  $column) : integer

Validate that the specified column is in the AutoFilter range.

Parameters

string $column

Column name (e.g. A)

Throws

\PhpOffice\PhpSpreadsheet\Exception

Returns

integer —

The column offset within the autofilter range

getColumnOffset()

getColumnOffset(string  $pColumn) : integer

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

Parameters

string $pColumn

Column name (e.g. A)

Throws

\PhpOffice\PhpSpreadsheet\Exception

Returns

integer —

The offset of the specified column within the autofilter range

getColumn()

getColumn(string  $pColumn) : \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column

Get a specified AutoFilter Column.

Parameters

string $pColumn

Column name (e.g. A)

Throws

\PhpOffice\PhpSpreadsheet\Exception

Returns

\PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column

getColumnByOffset()

getColumnByOffset(integer  $pColumnOffset) : \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column

Get a specified AutoFilter Column by it's offset.

Parameters

integer $pColumnOffset

Column offset within range (starting from 0)

Throws

\PhpOffice\PhpSpreadsheet\Exception

Returns

\PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column

clearColumn()

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

Clear a specified AutoFilter Column.

Parameters

string $pColumn

Column name (e.g. A)

Throws

\PhpOffice\PhpSpreadsheet\Exception

Returns

\PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter

shiftColumn()

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

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 $fromColumn

Column name (e.g. A)

string $toColumn

Column name (e.g. B)

Returns

\PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter

showHideRows()

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

Apply the AutoFilter rules to the AutoFilter Range.

Throws

\PhpOffice\PhpSpreadsheet\Exception

Returns

\PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter

__clone()

__clone() 

Implement PHP __clone to create a deep clone, not just a shallow copy.

__toString()

__toString() 

toString method replicates previous behavior by returning the range if object is referenced as a property of its parent.

filterTestInSimpleDataSet()

filterTestInSimpleDataSet(mixed  $cellValue, array<mixed,mixed>  $dataSet) : boolean

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

Parameters

mixed $cellValue
array<mixed,mixed> $dataSet

Returns

boolean

filterTestInDateGroupSet()

filterTestInDateGroupSet(mixed  $cellValue, array<mixed,mixed>  $dataSet) : boolean

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

Parameters

mixed $cellValue
array<mixed,mixed> $dataSet

Returns

boolean

filterTestInCustomDataSet()

filterTestInCustomDataSet(mixed  $cellValue, array<mixed,mixed>  $ruleSet) : boolean

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

Parameters

mixed $cellValue
array<mixed,mixed> $ruleSet

Returns

boolean

filterTestInPeriodDateSet()

filterTestInPeriodDateSet(mixed  $cellValue, array<mixed,mixed>  $monthSet) : boolean

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

Parameters

mixed $cellValue
array<mixed,mixed> $monthSet

Returns

boolean

dynamicFilterDateRange()

dynamicFilterDateRange(string  $dynamicRuleType, \PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column  $filterColumn) : array<mixed,mixed>

Convert a dynamic rule daterange to a custom filter range expression for ease of calculation.

Parameters

string $dynamicRuleType
\PhpOffice\PhpSpreadsheet\Worksheet\AutoFilter\Column $filterColumn

Returns

array<mixed,mixed>

calculateTopTenValue()

calculateTopTenValue(  $columnID,   $startRow,   $endRow,   $ruleType,   $ruleValue) 

Parameters

$columnID
$startRow
$endRow
$ruleType
$ruleValue