使用此类来修改Grid
工作表(默认类型为
工作表。网格工作表是包含未与数据库关联的数据的常规工作表。
如果工作表中还没有过滤条件,请使用 Range.createFilter()
创建一个。
如需使用此类,您必须先使用 Range.getFilter()
或 Sheet.getFilter()
访问网格工作表过滤器。
常见用途
移除过滤条件
以下示例会获取当前工作表中的过滤器并将其移除。let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); // Removes the filter from the active sheet. filter.remove();
获取过滤器适用的范围
以下示例会获取当前工作表中的过滤条件,然后使用getRange()
方法(位于
该类来记录过滤器应用到的范围。
let ss = SpreadsheetApp.getActiveSheet(); // Gets the existing filter on the active sheet. let filter = ss.getFilter(); // Logs the range that the filter applies to in A1 notation. console.log(filter.getRange().getA1Notation());
方法
方法 | 返回类型 | 简介 |
---|---|---|
getColumnFilterCriteria(columnPosition) | FilterCriteria | 获取指定列的过滤条件,或者获取 null (如果列不包含
过滤条件。 |
getRange() | Range | 获取此过滤器适用的范围。 |
remove() | void | 移除此过滤条件。 |
removeColumnFilterCriteria(columnPosition) | Filter | 从指定列删除过滤条件。 |
setColumnFilterCriteria(columnPosition, filterCriteria) | Filter | 设置指定列的过滤条件。 |
sort(columnPosition, ascending) | Filter | 按指定列对过滤后的范围进行排序,但排除 应用此过滤器的范围 |
详细文档
getColumnFilterCriteria(columnPosition)
获取指定列的过滤条件,或者获取 null
(如果列不包含
过滤条件。
要获取有关过滤条件的更多详细信息,请将此方法与
FilterCriteria
类。
let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); // Gets the filter criteria applied to column B of the active sheet // and logs the hidden values. let filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues(); console.log(filterCriteria);
参数
名称 | 类型 | 说明 |
---|---|---|
columnPosition | Integer | 列的位置(从 1 开始编号)。例如,B 列的索引为 2。 |
返回
FilterCriteria
- 过滤条件。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getRange()
获取此过滤器适用的范围。
// Gets the existing filter on the active sheet. let ss = SpreadsheetApp.getActiveSheet(); let 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. let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); filter.remove();
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
removeColumnFilterCriteria(columnPosition)
从指定列删除过滤条件。
// Removes the filter criteria from column B. let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); filter.removeColumnFilterCriteria(2);
参数
名称 | 类型 | 说明 |
---|---|---|
columnPosition | Integer | 列的位置(从 1 开始编号)。例如,B 列的索引为 2。 |
返回
Filter
- 用于链接的过滤条件。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
setColumnFilterCriteria(columnPosition, filterCriteria)
设置指定列的过滤条件。首先,创建过滤条件生成器
使用 SpreadsheetApp.newFilterCriteria()
。然后向构建器添加条件
使用 FilterCriteriaBuilder
类。创建条件后,将其设置为
此方法的 filterCriteria
参数。
let ss = SpreadsheetApp.getActiveSheet(); let 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);
参数
名称 | 类型 | 说明 |
---|---|---|
columnPosition | Integer | 列的位置(从 1 开始编号)。例如,B 列的索引为 2。 |
filterCriteria | FilterCriteria | 要设置的过滤条件。如果将条件设为null
从指定列删除过滤条件。您也可以使用 removeColumnFilterCriteria(columnPosition) 。 |
返回
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. let ss = SpreadsheetApp.getActiveSheet(); let filter = ss.getFilter(); filter.sort(2, true);
参数
名称 | 类型 | 说明 |
---|---|---|
columnPosition | Integer | 列的位置(从 1 开始编号)。例如,B 列的索引为 2。 |
ascending | Boolean | 如果为 true ,则对过滤后的范围按升序排序;如果为 false ,则按降序对过滤后的范围进行排序。 |
返回
Filter
- 用于链接的过滤条件。
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets