使用此类可修改 Grid
工作表(默认的工作表类型)上的现有过滤条件。网格工作表是指数据未与数据库关联的常规工作表。
如果工作表中尚无过滤器,请使用 Range.createFilter()
创建一个过滤器。
如需使用此类,您必须先使用 Range.getFilter()
或 Sheet.getFilter()
访问网格工作表过滤器。
常见用途
移除过滤条件
以下示例会获取活动工作表上的过滤器并将其移除。const ss = SpreadsheetApp.getActiveSheet(); const filter = ss.getFilter(); // Removes the filter from the active sheet. filter.remove();
获取过滤条件的应用范围
以下示例会获取活动工作表上的过滤条件,然后使用此类中的get Range()
方法记录过滤条件应用到的范围。
const ss = SpreadsheetApp.getActiveSheet(); // Gets the existing filter on the active sheet. const filter = ss.getFilter(); // Logs the range that the filter applies to in A1 notation. console.log(filter.getRange().getA1Notation());
方法
方法 | 返回类型 | 简介 |
---|---|---|
get | Filter | 获取指定列的过滤条件,如果未对该列应用过滤条件,则返回 null 。 |
get | Range | 获取此过滤条件适用的范围。 |
remove() | void | 移除此过滤条件。 |
remove | Filter | 从指定列中移除过滤条件。 |
set | Filter | 针对指定列设置过滤条件。 |
sort(columnPosition, ascending) | Filter | 按指定列对过滤后的范围进行排序,不包括此过滤器应用到的范围中的第一行(标题行)。 |
详细文档
get Column Filter Criteria(columnPosition)
获取指定列的过滤条件,如果未对该列应用过滤条件,则返回 null
。
如需详细了解过滤条件,请将此方法与 Filter
类中的方法串联起来。
const ss = SpreadsheetApp.getActiveSheet(); const filter = ss.getFilter(); // Gets the filter criteria applied to column B of the active sheet // and logs the hidden values. const filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues(); console.log(filterCriteria);
参数
名称 | 类型 | 说明 |
---|---|---|
column | Integer | 列的编号为 1 的位置。例如,列 B 的编号为 2。 |
返回
Filter
- 过滤条件。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
get Range()
获取此过滤条件适用的范围。
// Gets the existing filter on the active sheet. const ss = SpreadsheetApp.getActiveSheet(); const filter = ss.getFilter(); // Logs the range that the filter applies to in A1 notation. console.log(filter.getRange().getA1Notation());
返回
Range
- 过滤器的范围。如需以 A1 表示法获取范围,请将此方法与 Range.getA1Notation()
串联。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
remove()
移除此过滤条件。
// Removes the filter from the active sheet. const ss = SpreadsheetApp.getActiveSheet(); const filter = ss.getFilter(); filter.remove();
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
remove Column Filter Criteria(columnPosition)
从指定列中移除过滤条件。
// Removes the filter criteria from column B. const ss = SpreadsheetApp.getActiveSheet(); const filter = ss.getFilter(); filter.removeColumnFilterCriteria(2);
参数
名称 | 类型 | 说明 |
---|---|---|
column | Integer | 列的编号为 1 的位置。例如,列 B 的编号为 2。 |
返回
Filter
- 过滤器,用于链接。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
set Column Filter Criteria(columnPosition, filterCriteria)
针对指定列设置过滤条件。首先,使用 Spreadsheet
创建过滤条件构建器。然后,使用 Filter
类向构建器添加条件。构建条件后,将其设置为此方法的 filter
参数。
const ss = SpreadsheetApp.getActiveSheet(); const filter = ss.getFilter(); // Builds the filter criteria to use as a parameter for setColumnFilterCriteria. const criteria = SpreadsheetApp.newFilterCriteria() .setHiddenValues(['Hello', 'World']) .build(); // Sets the filter criteria for column C. filter.setColumnFilterCriteria(3, criteria);
参数
名称 | 类型 | 说明 |
---|---|---|
column | Integer | 列的编号为 1 的位置。例如,列 B 的编号为 2。 |
filter | Filter | 要设置的过滤条件。如果您将条件设置为 null ,系统会从指定列中移除过滤条件。您也可以使用 remove 。 |
返回
Filter
- 过滤器,用于串联。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
sort(columnPosition, ascending)
按指定列对过滤后的范围进行排序,不包括此过滤器应用范围的第一行(标题行)。
// Gets the existing filter and sorts it by column B in ascending order. const ss = SpreadsheetApp.getActiveSheet(); const filter = ss.getFilter(); filter.sort(2, true);
参数
名称 | 类型 | 说明 |
---|---|---|
column | Integer | 列的编号为 1 的位置。例如,列 B 的编号为 2。 |
ascending | Boolean | 如果为 true ,则按升序对过滤范围进行排序;如果为 false ,则按降序对过滤范围进行排序。 |
返回
Filter
- 过滤器,用于串联。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets