使用 APIv4(Google Apps 脚本)在 Google 个工作表中过滤
Filter in Google Sheets using APIv4 (Google Apps Script)
我想通过第一列指定一个过滤器,它的数字超过 1000,并且还隐藏 "England" 和 "France"。但我有错误:
Invalid value at 'requests[0].set_basic_filter.filter.criteria[0].value.condition.values'
程序代码如下:
function setFilters() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var filterSettings = {};
// The range of data on which you want to apply the filter.
// optional arguments: startRowIndex, startColumnIndex, endRowIndex, endColumnIndex
filterSettings.range = {
sheetId: ss.getActiveSheet().getSheetId(),
startRowIndex: 1
};
// Criteria for showing/hiding rows in a filter
// https://developers.google.com/sheets/api/reference/rest/v4/FilterCriteria
filterSettings.criteria = {};
var columnIndex = 1;
//
filterSettings['criteria'][columnIndex] = {
'hiddenValues': ["England", "France"],
'condition': { "type": "NUMBER_GREATER","values":1000}
};
var request = {
"setBasicFilter": {
"filter": filterSettings
}
};
Sheets.Spreadsheets.batchUpdate({'requests': [request]}, ss.getId());
}
怎么了?
"values":{"userEnteredValue":"1000"} - 成功了
我想通过第一列指定一个过滤器,它的数字超过 1000,并且还隐藏 "England" 和 "France"。但我有错误:
Invalid value at 'requests[0].set_basic_filter.filter.criteria[0].value.condition.values'
程序代码如下:
function setFilters() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var filterSettings = {};
// The range of data on which you want to apply the filter.
// optional arguments: startRowIndex, startColumnIndex, endRowIndex, endColumnIndex
filterSettings.range = {
sheetId: ss.getActiveSheet().getSheetId(),
startRowIndex: 1
};
// Criteria for showing/hiding rows in a filter
// https://developers.google.com/sheets/api/reference/rest/v4/FilterCriteria
filterSettings.criteria = {};
var columnIndex = 1;
//
filterSettings['criteria'][columnIndex] = {
'hiddenValues': ["England", "France"],
'condition': { "type": "NUMBER_GREATER","values":1000}
};
var request = {
"setBasicFilter": {
"filter": filterSettings
}
};
Sheets.Spreadsheets.batchUpdate({'requests': [request]}, ss.getId());
}
怎么了?
"values":{"userEnteredValue":"1000"} - 成功了