Function 将行追加到特定位置

Function 将行追加到特定位置,function,google-apps-script,google-sheets,Function,Google Apps Script,Google Sheets,我有以下功能: function addrow() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const ws = ss.getSheetByName("Sheet1"); ws.appendRow(["apple", "orange", "banana"]); } appendRow仅将数组中的项目添加到电子表格上最后一行 如何使它从

我有以下功能:

function addrow() {  
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const ws = ss.getSheetByName("Sheet1");
  ws.appendRow(["apple", "orange", "banana"]);
 }
appendRow
仅将数组中的项目添加到电子表格上最后一行

如何使它从指定的行(比如第10行)开始,然后继续添加行,“向下推”所有其他行?
因此,如果我将脚本设置为从第10行开始,当我执行时,项目将进入第10行,当我再次执行时,项目将再次进入第10行,上一次执行的项目现在将进入第11行等等。

appendRow
始终将数据追加到最后一行,对此我们无能为力

有很多可能的方法在页的中间追加,但是最简单的方法是使用<代码>插入式()/<代码>或其他<代码>插入式< <代码>函数:

insertRow
功能:

请随意逐个测试它们,看看它们是否适用于您的问题。它们通常相似,但在插入行的数量和位置上有所不同

代码: 样本数据:

样本输出:

注:

如果你急于只使用<代码> AppDeNe<代码>来追加该页的中间部分,那么就有一个方法,但不是最佳的解决方案,只是一个黑客攻击。以下是步骤:

  • 将最后一行中的所有数据复制并存储到变量中
  • 删除工作表中最后第10行的数据
  • 使用
    appendRow
    追加数据(由于第10行已被删除,现在的数据应该在第10行粘贴)
  • 使用
    setValues
    根据变量的长度将第10个last的原始值粘贴到第11个last中

  • 非常感谢,这很有帮助
    function addrow() {  
      const ss = SpreadsheetApp.getActiveSpreadsheet();
      const ws = ss.getSheetByName("Sheet1");
      var data = ["apple", "orange", "banana"];
      // shift all rows down by one from row 10 
      ws.insertRows(10, 1);
      // then insert data into blank row (10)
      ws.getRange(10, 1, 1, data.length).setValues([data]);
    }