清除响应后,Google 电子表格不会从顶部开始

Fis*_*her 2 google-sheets google-apps-script google-forms

我有一个表单,可以将表单的数据输入到谷歌电子表格中。此数据按提交顺序列出。

当我清除电子表格的内容时,输入下一个数据,就好像其他数据存在一样,x 个数字或向下的行。

  1. 数据
  2. 数据

清除

  1. (空的)
  2. (空的)
  3. 数据

这是我用来清除内容的脚本

function clear() {
  var sheet =   SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1IEcXuEtkwVmnOEeQE71YQcZTrSkFa1OjlP8JpXGonHk/edit#gid=2015797647').getSheetByName('Form Responses 1');
  var lastRow = sheet.getLastRow();
  var lastCol = sheet.getLastColumn();
  var range = sheet.getRange(2,2,lastRow,lastCol);
  range.clearContent();
Run Code Online (Sandbox Code Playgroud)

我应该清除或选择要清除的数据有不同的方式吗?

或者有没有办法删除保留电子表格格式的行?

Ser*_*sas 5

您应该简单地删除行而不是清除它们的内容:

    function clear() {
  //    var sheet =   SpreadsheetApp.getActive().getSheetByName('Form Responses 1');
      var sheet =   SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1IEcXuEtkwVmnOEeQE71YQcZTrSkFa1OjlP8JpXGonHk/edit#gid=2015797647').getSheetByName('Form Responses 1');
      var lastRow = sheet.getLastRow();
      sheet.deleteRows(2,lastRow-1);
    }
Run Code Online (Sandbox Code Playgroud)

如果你想在你的工作表中保留可用行的总数(这不是真正必要的,因为响应会自动插入新行但谁知道......)在代码末尾添加这一行

  sheet.insertRows(2,lastRow-1);
Run Code Online (Sandbox Code Playgroud)