【问题标题】:google sheets api v4 Append row after specific row or move row to specific positiongoogle sheet api v4 在特定行之后附加行或将行移动到特定位置
【发布时间】:2019-08-01 08:52:02
【问题描述】:

是否可以在特定行/范围之后追加一行?
例如,我有一个有 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:我不想按字母或数字对行进行排序。我只是用数字来说明我的意思。

【问题讨论】:

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


    【解决方案1】:

    您必须先在其间插入一行,然后再插入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))
    

    【讨论】:

    • 这个sn-p是用来插入中间的吗?如果是,我可以在这里向资源对象添加值吗?并且“InsertRangeRequest”只是一个正常的更新,但具有“shiftDimensions”属性吗?
    • @接受。不,不,InsertRange 只插入一个空白范围(比如一个空白行)。您必须在此之后添加更新请求。
    • Mh 我试过了,我得到了这个错误:Error: Invalid JSON payload received. Unknown name "range" at 'requests[0]': Cannot find field. Invalid JSON payload received. Unknown name "shift_dimension" at 'requests[0]': Cannot find field.我复制了你的 sn-p 刚刚添加了一个电子表格 ID。你知道为什么这不起作用吗?
    • 编辑(不是真的):好的,我看到这里缺少什么。请求对象需要一个具有范围和 shiftDimensions 的“insertRange”对象。但是我收到一个错误,即无法找到 sheet_id 0。我在哪里可以看到我的工作表的 ID?
    • @Take 错过了请求名称。添加它。 SheetId 可以在电子表格的 url 中找到。 #gid=[SHEET_ID]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多