使用 Google Apps 脚本(高级表格 API)将条件添加到筛选视图
Add Criteria to Filter View using Google Apps Script (Advanced Sheets API)
我正在尝试使用高级工作表创建过滤视图 API。我能在上面找到的所有内容都是 Python 或其他某种语言的,而且我没有那么先进,我勉强通过谷歌搜索问题!我的其余代码搜索每天添加的新选项卡,此代码的目的是在某些条件下自动在该选项卡上创建过滤器视图。
我正在使用“Sheets.Spreadsheets.batchUpdate()”方法,除了“filterSpecs[]”属性外,这段代码中的所有内容都适用于我。我先尝试了 criteria 属性,但后来发现它不再使用了?请帮忙!
const resource = {
requests: {
addFilterView: {
filter: {
filterViewId: '0000000',
title: 'Chris Johnson',
range: {
sheetId: st1.toString(),
startRowIndex: 0,
endRowIndex: 500,
startColumnIndex: 0,
endColumnIndex: 8
}
filterSpecs: [{
3: {condition: {
type: 'TEXT_CONTAINS',
values: {
userEnteredValue: 'Chris Johnson'
}}}
}],
}
}}}
修改点:
}filterSpecs: [{
有错误。 ,
需要添加
filterSpecs
的元素不正确。
- 即使不包含
filterViewId
,也会添加过滤视图。但是用filterViewId
的时候,可以给原来的ID。
- 属性 of
requests
是数组。
当这些点反映在你的request body中,就变成了下面的样子。
修改后的脚本:
function myFunction() {
const spreadsheetId = "###"; // Please set your Spreadsheet ID.
const resource = {
"requests": [
{
"addFilterView": {
"filter": {
"filterViewId": 12345,
"title": "Chris Johnson",
"range": {
"sheetId": 0,
"startRowIndex": 0,
"endRowIndex": 500,
"startColumnIndex": 0,
"endColumnIndex": 8
},
"filterSpecs": [
{
"filterCriteria": {
"condition": {
"type": "TEXT_CONTAINS",
"values": [
{
"userEnteredValue": "Chris Johnson"
}
]
}
},
// "columnIndex": 0 // If you want to use the column, please use this.
}
]
}
}
}
]
};
Sheets.Spreadsheets.batchUpdate(resource, spreadsheetId);
}
参考:
我正在尝试使用高级工作表创建过滤视图 API。我能在上面找到的所有内容都是 Python 或其他某种语言的,而且我没有那么先进,我勉强通过谷歌搜索问题!我的其余代码搜索每天添加的新选项卡,此代码的目的是在某些条件下自动在该选项卡上创建过滤器视图。
我正在使用“Sheets.Spreadsheets.batchUpdate()”方法,除了“filterSpecs[]”属性外,这段代码中的所有内容都适用于我。我先尝试了 criteria 属性,但后来发现它不再使用了?请帮忙!
const resource = {
requests: {
addFilterView: {
filter: {
filterViewId: '0000000',
title: 'Chris Johnson',
range: {
sheetId: st1.toString(),
startRowIndex: 0,
endRowIndex: 500,
startColumnIndex: 0,
endColumnIndex: 8
}
filterSpecs: [{
3: {condition: {
type: 'TEXT_CONTAINS',
values: {
userEnteredValue: 'Chris Johnson'
}}}
}],
}
}}}
修改点:
}filterSpecs: [{
有错误。,
需要添加filterSpecs
的元素不正确。- 即使不包含
filterViewId
,也会添加过滤视图。但是用filterViewId
的时候,可以给原来的ID。 - 属性 of
requests
是数组。
当这些点反映在你的request body中,就变成了下面的样子。
修改后的脚本:
function myFunction() {
const spreadsheetId = "###"; // Please set your Spreadsheet ID.
const resource = {
"requests": [
{
"addFilterView": {
"filter": {
"filterViewId": 12345,
"title": "Chris Johnson",
"range": {
"sheetId": 0,
"startRowIndex": 0,
"endRowIndex": 500,
"startColumnIndex": 0,
"endColumnIndex": 8
},
"filterSpecs": [
{
"filterCriteria": {
"condition": {
"type": "TEXT_CONTAINS",
"values": [
{
"userEnteredValue": "Chris Johnson"
}
]
}
},
// "columnIndex": 0 // If you want to use the column, please use this.
}
]
}
}
}
]
};
Sheets.Spreadsheets.batchUpdate(resource, spreadsheetId);
}