API Reference

FFilter

This interface class provides methods to modify the filter settings of a worksheet.

This class should not be instantiated directly. Use factory methods on univerAPI instead.

Access

Access through:

Setup

Register @univerjs/sheets-filter or a preset that includes it. In plugin mode, import @univerjs/sheets-filter/facade. Additional methods below require their listed plugin packages. See Facade setup.

@univerjs/sheets-filter

FFilter.getColumnFilterCriteria

Get the filter criteria of a column.

TypeScript
getColumnFilterCriteria(column: number): Nullable<IFilterColumn>

Parameters

  • column — Required. The absolute, zero-based worksheet column index, not an index relative to the filter range.

Returns

The filter criteria of the column.

Examples

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')// Set some values of the range C1:F10const fRange = fWorksheet.getRange('C1:F10')fRange.setValues([  [1, 2, 3, 4],  [2, 3, 4, 5],  [3, 4, 5, 6],  [4, 5, 6, 7],  [5, 6, 7, 8],  [6, 7, 8, 9],  [7, 8, 9, 10],  [8, 9, 10, 11],  [9, 10, 11, 12],  [10, 11, 12, 13],])// Create a filter on the range C1:F10let fFilter = fRange.createFilter()// If the filter already exists, remove it and create a new oneif (!fFilter) {  fRange.getFilter().remove()  fFilter = fRange.createFilter()}// Set the filter criteria of the column C, filter out the rows that are not 1, 5, 9const column = fWorksheet.getRange('C:C').getColumn()fFilter.setColumnFilterCriteria(column, {  colId: 0,  filters: {    filters: ['1', '5', '9'],  },})// Print the filter criteria of the column C and Dconsole.log(fFilter.getColumnFilterCriteria(column)) // { colId: 0, filters: { filters: ['1', '5', '9'] } }console.log(fFilter.getColumnFilterCriteria(column + 1)) // undefined

Types: IFilterColumn · Nullable

Package: @univerjs/sheets-filter · Type definitions

FFilter.getFilteredOutRows

Get the filtered out rows by this filter.

TypeScript
getFilteredOutRows(): number[]

Returns

Filtered out rows by this filter.

Examples

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')// Set some values of the range C1:F10const fRange = fWorksheet.getRange('C1:F10')fRange.setValues([  [1, 2, 3, 4],  [2, 3, 4, 5],  [3, 4, 5, 6],  [4, 5, 6, 7],  [5, 6, 7, 8],  [6, 7, 8, 9],  [7, 8, 9, 10],  [8, 9, 10, 11],  [9, 10, 11, 12],  [10, 11, 12, 13],])// Create a filter on the range C1:F10let fFilter = fRange.createFilter()// If the filter already exists, remove it and create a new oneif (!fFilter) {  fRange.getFilter().remove()  fFilter = fRange.createFilter()}// Set the filter criteria of the column C, filter out the rows that are not 1, 5, 9const column = fWorksheet.getRange('C:C').getColumn()fFilter.setColumnFilterCriteria(column, {  colId: 0,  filters: {    filters: ['1', '5', '9'],  },})// Get the filtered out rowsconsole.log(fFilter.getFilteredOutRows()) // [1, 2, 3, 5, 6, 7, 9]

Package: @univerjs/sheets-filter · Type definitions

FFilter.getRange

Get the range of the filter.

TypeScript
getRange(): FRange

Returns

The range of the filter.

Examples

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const fFilter = fWorksheet.getFilter()console.log(fFilter?.getRange().getA1Notation())

Types: FRange

Package: @univerjs/sheets-filter · Type definitions

FFilter.remove

Remove the filter from the worksheet.

TypeScript
remove(): boolean

Returns

True if the filter is removed successfully; otherwise, false.

Examples

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')const fRange = fWorksheet.getRange('A1:D14')let fFilter = fRange.createFilter()// If the worksheet already has a filter, remove it and create a new filter.if (!fFilter) {  fWorksheet.getFilter().remove()  fFilter = fRange.createFilter()}console.log(fFilter)

Package: @univerjs/sheets-filter · Type definitions

FFilter.removeColumnFilterCriteria

Clear the filter criteria of a column.

TypeScript
removeColumnFilterCriteria(column: number): FFilter

Parameters

  • column — Required. The absolute, zero-based worksheet column index, not an index relative to the filter range.

Returns

The FFilter instance for chaining.

Examples

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')// Set some values of the range C1:F10const fRange = fWorksheet.getRange('C1:F10')fRange.setValues([  [1, 2, 3, 4],  [2, 3, 4, 5],  [3, 4, 5, 6],  [4, 5, 6, 7],  [5, 6, 7, 8],  [6, 7, 8, 9],  [7, 8, 9, 10],  [8, 9, 10, 11],  [9, 10, 11, 12],  [10, 11, 12, 13],])// Create a filter on the range C1:F10let fFilter = fRange.createFilter()// If the filter already exists, remove it and create a new oneif (!fFilter) {  fRange.getFilter().remove()  fFilter = fRange.createFilter()}// Set the filter criteria of the column C, filter out the rows that are not 1, 5, 9const column = fWorksheet.getRange('C:C').getColumn()fFilter.setColumnFilterCriteria(column, {  colId: 0,  filters: {    filters: ['1', '5', '9'],  },})// Clear the filter criteria of the column C after 3 secondssetTimeout(() => {  fFilter.removeColumnFilterCriteria(column)}, 3000)

Types: FFilter

Package: @univerjs/sheets-filter · Type definitions

FFilter.removeFilterCriteria

Remove the filter criteria of all columns.

TypeScript
removeFilterCriteria(): FFilter

Returns

The FFilter instance for chaining.

Examples

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')// Set some values of the range C1:F10const fRange = fWorksheet.getRange('C1:F10')fRange.setValues([  [1, 2, 3, 4],  [2, 3, 4, 5],  [3, 4, 5, 6],  [4, 5, 6, 7],  [5, 6, 7, 8],  [6, 7, 8, 9],  [7, 8, 9, 10],  [8, 9, 10, 11],  [9, 10, 11, 12],  [10, 11, 12, 13],])// Create a filter on the range C1:F10let fFilter = fRange.createFilter()// If the filter already exists, remove it and create a new oneif (!fFilter) {  fRange.getFilter().remove()  fFilter = fRange.createFilter()}// Set the filter criteria of the column C, filter out the rows that are not 1, 5, 9const column = fWorksheet.getRange('C:C').getColumn()fFilter.setColumnFilterCriteria(column, {  colId: 0,  filters: {    filters: ['1', '5', '9'],  },})// Clear the filter criteria of all columns after 3 secondssetTimeout(() => {  fFilter.removeFilterCriteria()}, 3000)

Types: FFilter

Package: @univerjs/sheets-filter · Type definitions

FFilter.setColumnFilterCriteria

Set the filter criteria of a column.

TypeScript
setColumnFilterCriteria(column: number, criteria: ISetSheetsFilterCriteriaCommandParams['criteria']): FFilter

Parameters

  • column — Required. The absolute, zero-based worksheet column index, not an index relative to the filter range.
  • criteria — Required. The new filter criteria.

Returns

The FFilter instance for chaining.

Examples

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getSheetByName('Sheet1')if (!fWorksheet) throw new Error('fWorksheet is not available')// Set some values of the range C1:F10const fRange = fWorksheet.getRange('C1:F10')fRange.setValues([  [1, 2, 3, 4],  [2, 3, 4, 5],  [3, 4, 5, 6],  [4, 5, 6, 7],  [5, 6, 7, 8],  [6, 7, 8, 9],  [7, 8, 9, 10],  [8, 9, 10, 11],  [9, 10, 11, 12],  [10, 11, 12, 13],])// Create a filter on the range C1:F10let fFilter = fRange.createFilter()// If the filter already exists, remove it and create a new oneif (!fFilter) {  fRange.getFilter().remove()  fFilter = fRange.createFilter()}// Set the filter criteria of the column C, filter out the rows that are not 1, 5, 9const column = fWorksheet.getRange('C:C').getColumn()fFilter.setColumnFilterCriteria(column, {  colId: 0,  filters: {    filters: ['1', '5', '9'],  },})

Types: FFilter · ISetSheetsFilterCriteriaCommandParams

Package: @univerjs/sheets-filter · Type definitions

How is this guide?

© 2026 DreamNum Co., Ltd.