googlesheets api v4在特定行后追加行或将行移至特定位置

时间:2019-08-01 08:52:02

标签: node.js google-apps-script google-sheets google-sheets-api

是否可以在特定行/范围之后追加行?
例如,我有一个包含5行的电子表格,其中在A列中为第一行“ 1”,第二行“ 2”但在第三行“ 4”,依此类推直到第五行“ 6”。

现在,我想向该表追加一行,并且我目前正在使用此功能:

let values = [
  [
    // Cell values ...
  ],
  // Additional rows ...
];
let resource = {
  values,
};
this.sheetsService.spreadsheets.values.append({
  spreadsheetId,
  range,
  valueInputOption,
  resource,
}, (err, result) => {
  if (err) {
    // Handle error.
    console.log(err);
  } else {
    console.log(`${result.updates.updatedCells} cells appended.`);
  }
});

我要添加的行在A列中有一个“ 3”,我希望在第二行之后添加该行。

但是,当我将范围设置为“ A2:C2”时,它将仅在第一个空行所在的位置附加;在第五行之后。

是否可以在行之间追加行?如果没有,是否可以将附加的行从底部移动到所需位置?

PS:我不想按字母或数字排序行。我只是用数字来表达我的意思。

1 个答案:

答案 0 :(得分:2)

必须先在第一行之间插入一行,然后update该行中的值或append。您可以尝试InsertRangeRequestInsertDimension

摘要:

this.sheetsService.spreadsheets.batchUpdate({
  spreadsheetId,
  resource: { 
    requests: [
     "insertRange": {
        "range": {//Sheet1!A3
          "sheetId": 0,
          "startRowIndex": 2,
          "endRowIndex": 3,
          "startColumnIndex": 0,
          "endColumnIndex": 1
         },
        "shiftDimension": "ROWS"
      }
    ]
  }

},(err,res)=>console.log(err ? err : res))