当回应被清除谷歌电子表格并未在顶部开始(Google Spreadsheet doesn't

2019-10-20 14:16发布

我有一个输入表单的数据转换成谷歌电子表格的形式。 这个数据列在提交的顺序。

当我清除电子表格的内容,下一个数据被输入,就好像其他数据存在,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();

是否有不同的方式,我应该清除或选择数据清除?

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

Answer 1:

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

    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);
    }

如果你想保持可用行的总数在您的工作表(这是不是真的有必要,因为反应自动插入新行,但谁知道...)的代码的末尾添加此行

  sheet.insertRows(2,lastRow-1);


文章来源: Google Spreadsheet doesn't start at top when responses are cleared