API 参考

Filter

本 API 页面目前提供英文正文。代码签名与标识符不随界面语言变化。
Packages@univerjs/sheets-filter

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.

Overview

@univerjs/sheets-filter

MethodDescription
getColumnFilterCriteriaGet the filter criteria of a column
getFilteredOutRowsGet the filtered out rows by this filter
getRangeGet the range of the filter
removeRemove the filter from the worksheet
removeColumnFilterCriteriaClear the filter criteria of a column
removeFilterCriteriaRemove the filter criteria of all columns
setColumnFilterCriteriaSet the filter criteria of a column

APIs

Getters & Queries

getColumnFilterCriteria

Get the filter criteria of a column.

Signature

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

Parameters

  • column numberNo description

Returns

  • any — The filter criteria of the column.

Examples

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook();const fWorksheet = fWorkbook.getActiveSheet();// 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
Source: @univerjs/sheets-filter

getFilteredOutRows

Get the filtered out rows by this filter.

Signature

TypeScript
getFilteredOutRows(): number[]

Returns

  • number[] — Filtered out rows by this filter.

Examples

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook();const fWorksheet = fWorkbook.getActiveSheet();// 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]
Source: @univerjs/sheets-filter

getRange

Get the range of the filter.

Signature

TypeScript
getRange(): FRange

Returns

  • FRange — The range of the filter.

Examples

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook();const fWorksheet = fWorkbook.getActiveSheet();const fFilter = fWorksheet.getFilter();console.log(fFilter?.getRange().getA1Notation());
Source: @univerjs/sheets-filter

Setters & Modifiers

setColumnFilterCriteria

Set the filter criteria of a column.

Signature

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

Parameters

  • column number — The column index (0-based) to set the filter criteria for.
  • criteria ISetSheetsFilterCriteriaCommandParams['criteria'] — The filter criteria to apply.

Returns

  • FFilter — The FFilter instance for chaining.

Examples

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook();const fWorksheet = fWorkbook.getActiveSheet();// 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'],  },});
Source: @univerjs/sheets-filter

Actions & Operations

remove

Remove the filter from the worksheet.

Signature

TypeScript
remove(): boolean

Returns

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

Examples

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook();const fWorksheet = fWorkbook.getActiveSheet();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);
Source: @univerjs/sheets-filter

removeColumnFilterCriteria

Clear the filter criteria of a column.

Signature

TypeScript
removeColumnFilterCriteria(column: number): FFilter

Parameters

  • column numberNo description

Returns

  • FFilter — The FFilter instance for chaining.

Examples

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook();const fWorksheet = fWorkbook.getActiveSheet();// 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);
Source: @univerjs/sheets-filter

removeFilterCriteria

Remove the filter criteria of all columns.

Signature

TypeScript
removeFilterCriteria(): FFilter

Returns

  • FFilter — The FFilter instance for chaining.

Examples

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook();const fWorksheet = fWorkbook.getActiveSheet();// 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);
Source: @univerjs/sheets-filter

你觉得这篇文档如何?

© 2026 DreamNum Co., Ltd.