【问题标题】:Google Spreadsheet doesn't start at top when responses are cleared清除响应后,Google 电子表格未从顶部开始
【发布时间】:2014-07-29 19:23:57
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: google-apps-script google-sheets google-forms


    【解决方案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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-02
      • 2014-01-27
      • 1970-01-01
      • 2013-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多