ws.filters
WorksheetFilters
Sub-API for filter operations on a worksheet.
22 methods
setAutoFilter
→ Promise<AutoFilterSetReceipt>setAutoFilter(range: string): Promise<AutoFilterSetReceipt>;| Parameter | Type | Required |
|---|---|---|
| range | string | required |
Set an auto-filter on the sheet by parsing an A1-style range string. @param range - A1-style range string (e.g. "A1:D100")
createAutoFilter
→ Promise<void>createAutoFilter(range: CellRange): Promise<void>;| Parameter | Type | Required |
|---|---|---|
| range | CellRange | required |
Create an auto-filter from a CellRange (position-based). @param range - Range object with start/end row and column
clearAutoFilter
→ Promise<AutoFilterClearReceipt>clearAutoFilter(): Promise<AutoFilterClearReceipt>;Clear the auto-filter from the sheet. Removes all filters, not just criteria.
getAutoFilter
→ Promise<FilterState | null>getAutoFilter(): Promise<FilterState | null>;Get the current auto-filter state. @returns The filter state, or null if no auto-filter is set
getForRange
→ Promise<{ id: string } | null>getForRange(range: CellRange): Promise<{ id: string } | null>;| Parameter | Type | Required |
|---|---|---|
| range | CellRange | required |
Get the filter overlapping a range, or null if none. @param range - Range to check for filter overlap @returns Object with filter ID if found, or null
remove
→ Promise<void>remove(filterId: string): Promise<void>;| Parameter | Type | Required |
|---|---|---|
| filterId | string | required |
Remove a specific filter by its ID. @param filterId - Filter ID to remove
setColumnFilter
→ Promise<void>setColumnFilter(col: number, criteria: ColumnFilterCriteria): Promise<void>;| Parameter | Type | Required |
|---|---|---|
| col | number | required |
| criteria | ColumnFilterCriteria | required |
Set filter criteria for a column on the first auto-filter. @param col - Column index (0-based) @param criteria - Filter criteria to apply
applyDynamicFilter
→ Promise<void>applyDynamicFilter(col: number, rule: DynamicFilterRule): Promise<void>;| Parameter | Type | Required |
|---|---|---|
| col | number | required |
| rule | DynamicFilterRule | required |
Apply a dynamic filter rule to a column on the first auto-filter. Dynamic filters are pre-defined rules resolved against live data, such as "above average", "below average", or date-relative rules like "today", "this month", etc. @param col - Column index (0-based) @param rule - Dynamic filter rule to apply
clearColumnFilter
→ Promise<void>clearColumnFilter(col: number): Promise<void>;| Parameter | Type | Required |
|---|---|---|
| col | number | required |
Clear filter criteria for a column on the first auto-filter. @param col - Column index (0-based)
getUniqueValues
→ Promise<any[]>getUniqueValues(col: number): Promise<any[]>;| Parameter | Type | Required |
|---|---|---|
| col | number | required |
Get unique values in a column (for filter dropdowns). Uses the first auto-filter. @param col - Column index (0-based) @returns Array of unique values
setCriteria
→ Promise<void>setCriteria(filterId: string, col: number, criteria: ColumnFilterCriteria): Promise<void>;| Parameter | Type | Required |
|---|---|---|
| filterId | string | required |
| col | number | required |
| criteria | ColumnFilterCriteria | required |
Set filter criteria for a column using filter ID. @param filterId - Filter ID @param col - Column index (0-based) @param criteria - Filter criteria to apply
clearCriteria
→ Promise<void>clearCriteria(filterId: string, col: number): Promise<void>;| Parameter | Type | Required |
|---|---|---|
| filterId | string | required |
| col | number | required |
Clear filter criteria for a column. @param filterId - Filter ID @param col - Column index (0-based)
clearAllCriteria
→ Promise<void>clearAllCriteria(filterId: string): Promise<void>;| Parameter | Type | Required |
|---|---|---|
| filterId | string | required |
Clear all filter criteria for a filter. Removes filters from all columns but keeps the filter structure intact. @param filterId - Filter ID
apply
→ Promise<void>apply(filterId: string): Promise<void>;| Parameter | Type | Required |
|---|---|---|
| filterId | string | required |
Apply a filter (Rust evaluates criteria and updates row visibility). @param filterId - Filter ID to apply
getInfo
→ Promise<FilterDetailInfo | null>getInfo(filterId: string): Promise<FilterDetailInfo | null>;| Parameter | Type | Required |
|---|---|---|
| filterId | string | required |
Get detailed filter info including resolved range and column filters. @param filterId - Filter ID @returns Detailed filter info, or null if not found
getFilterUniqueValues
→ Promise<any[]>getFilterUniqueValues(filterId: string, col: number): Promise<any[]>;| Parameter | Type | Required |
|---|---|---|
| filterId | string | required |
| col | number | required |
Get unique values for a filter column. @param filterId - Filter ID @param col - Column index (0-based) @returns Array of unique values
list
→ Promise<FilterInfo[]>list(): Promise<FilterInfo[]>;List all filters in the sheet. @returns Array of filter info objects
isEnabled
→ Promise<boolean>isEnabled(): Promise<boolean>;Whether any auto-filter exists on the sheet. @returns true if at least one filter is present
isDataFiltered
→ Promise<boolean>isDataFiltered(): Promise<boolean>;Whether any filter on the sheet has active criteria applied. Returns true if at least one filter has non-empty column filters, meaning some rows may be hidden. @returns true if any column filter criteria are set
listDetails
→ Promise<FilterDetailInfo[]>listDetails(): Promise<FilterDetailInfo[]>;List all filters with resolved numeric ranges and column filters. Single bridge call — avoids the N+1 pattern. @returns Array of detailed filter info objects
getSortState
→ Promise<FilterSortState | null>getSortState(filterId: string): Promise<FilterSortState | null>;| Parameter | Type | Required |
|---|---|---|
| filterId | string | required |
Get the sort state for a filter. @param filterId - Filter ID @returns Sort state, or null if no sort state set
setSortState
→ Promise<void>setSortState(filterId: string, state: FilterSortState): Promise<void>;| Parameter | Type | Required |
|---|---|---|
| filterId | string | required |
| state | FilterSortState | required |
Set the sort state for a filter. @param filterId - Filter ID @param state - Sort state to set