如何请求多行的updateCells具有相同的值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何请求多行的updateCells具有相同的值相关的知识,希望对你有一定的参考价值。
我正在使用此请求代码在列中插入这些复选框,但我还需要将它们都默认设置为true。到目前为止,我已经看到了具有多个“值”的示例,每行一个,但是我想知道是否有一种方法只声明一次并且已经为范围内的所有其他设置
var resource = {"requests": [
{"repeatCell": {
"cell": {"dataValidation": {"condition":{"type": "BOOLEAN"}}},
"range": {"sheetId": sheetId, "startRowIndex": 1, "endRowIndex": 300, "startColumnIndex": 18},
"fields": "dataValidation"
}
},
{"updateCells": {
"rows": {"values": {"userEnteredValue": {"boolValue": true}}},
"range": {"sheetId": sheetId, "startRowIndex": 1, "endRowIndex": 300, "startColumnIndex": 18},
"fields": "userEnteredValue"
}
}
]};
Sheets.Spreadsheets.batchUpdate(resource, ss.getId());
答案
可以使用单个repeatCell
请求来改变所需范围的“数据验证”和“用户输入值”属性,而不是同时使用updateCells
和repeatCell
请求。关键是必须包含(或有意省略,删除)的“fields”参数(表示要修改的属性)和实际属性。
指定范围内的所有单元格(R2C19:R301C19,因为“_____Index”表示 - > 0-base)将被修改为使用您的请求中指定的属性:
var resource = {"requests": [
{"repeatCell": {
"cell": {
"dataValidation": {"condition":{"type": "BOOLEAN"}},
"userEnteredValue": {"boolValue": true}
},
"range": {
"sheetId": sheetId,
"startRowIndex": 1,
"endRowIndex": 300,
"startColumnIndex": 18,
"endColumnIndex": 19 // Specify the end to insert only one column of checkboxes
},
"fields": "dataValidation,userEnteredValue"
}
}]};
Sheets.Spreadsheets.batchUpdate(resource, ss.getId());
请注意,如果省略endColumnIndex
,GridRange
将被解释为无界:
所有索引都是从零开始的。索引是半开放的,例如起始索引是包含性的,结束索引是独占的 - [
startIndex
,endIndex
)。缺少索引表明该范围在该方面是无限制的。
参考文献:
- Valid
batchUpdate
requests repeatCell
request structureCellData
resource- The
"fields"
parameter - Related question
以上是关于如何请求多行的updateCells具有相同的值的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SQL Server 中对具有相同 ID 的多行求和