我需要更新大约300个稀疏单元格,比如A1、B200、A1000、B5000、A6000、A6001……在具有大约10000行和200列的电子表格中。
现在我正在一个接一个地更新单元格,但我正在寻找批处理方法,以便只进行一次调用,并传递一个数组来仅更新这些单元格。我搜索了其他SO线程和google电子表格文档,但对于批量更新,它们大多是针对某个范围内的连续单元格。我找不到任何可以用一个调用更新稀疏单元格的东西。
谷歌的建议是进行批量更新,而不是单独调用。那么有没有什么方法可以调用并只传递需要更新的单元格呢?
发布于 2017-08-09 21:40:32
您可以将Advanced Sheets Service与Google Sheets API v4 & Sheets.Spreadsheets.Values.batchUpdate(resource, spreadsheetId)一起使用
请确保在script中对服务执行
function updateMultipleRanges () {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range_one = sheet.getRange("A1:D3").getA1Notation();
var range_two = sheet.getRange("G1:G4").getA1Notation();
// Create the JSON Request Body
var update_req = {
"valueInputOption": "RAW",
"data": [{
"range": range_one,
"majorDimension": "ROWS",
"values": [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]],
},
{
"range": range_two,
"majorDimension": "ROWS",
"values": [[1], [2], [3], [4]],
}],
"includeValuesInResponse": false
}
Sheets.Spreadsheets.Values.batchUpdate(JSON.stringify(update_req), ss.getId())
}为要更新的每个范围创建一个ValueRange对象并将其添加到data[]
https://stackoverflow.com/questions/45588514
复制相似问题