简体   繁体   English

自动删除 Google 表格脚本中的行

[英]Automatically Delete rows in Google sheet script

I'm trying to write a google script that will updates the sensor data google sheet.This part is ok.我正在尝试编写一个谷歌脚本来更新传感器数据谷歌表。这部分没问题。

And I try to add a function clearRange(), when the data updated to 100 rows and delete the first 100 rows and reupdate the data.我尝试添加一个 function clearRange(),当数据更新到 100 行时删除前 100 行并重新更新数据。 Is there something that I'm missing here?我在这里缺少什么吗?

function doGet(e) { 
  Logger.log( JSON.stringify(e) );
  var sheet_id = 'XXXXXXXXXXXXXXXXXXXXX';   // Spreadsheet ID
  var sheet = SpreadsheetApp.openById(sheet_id).getActiveSheet();
  var newRow = sheet.getLastRow() + 1;                      
  var rowData = [];
  var Curr_Date = new Date();
  var result = 'Ok';
  if (e.parameter == 'undefined') {
    result = 'No Parameters';
  }
  else if(e.parameter != 'undefined'){
    rowData[0] = Curr_Date; // Date in column A
    var Curr_Time = Utilities.formatDate(Curr_Date, "GMT+8", 'HH:mm:ss');
    rowData[1] = Curr_Time; // Time in column B
    for (var param in e.parameter) {
      Logger.log('In for loop, param=' + param);
      var value = stripQuotes(e.parameter[param]);
      Logger.log(param + ':' + e.parameter[param]);
      switch (param) {
        case 'temperature':
          rowData[2] = value; // Temperature in column C
          result = 'Temperature Written on column C'; 
          break;
        case 'humidity':
          rowData[3] = value; // Humidity in column D
          result += ' ,Humidity Written on column D'; 
          break;  
        default:
          result = "unsupported parameter";
      }
    }
    Logger.log(JSON.stringify(rowData));
    var newRange = sheet.getRange(newRow, 1, 1, rowData.length);
    newRange.setValues([rowData]);
  }
else if (newRow==100)
 {
   clearRange();
 }

  return ContentService.createTextOutput(result);
}

function stripQuotes( value ) {
  return value.replace(/^["']|['"]$/g, "");
}

function clearRange() {
  sheet.deleteRows(1,100);
}

Try this:尝试这个:

function doGet(e) {
  var sheet_id = 'XXXXXXXXXXXXXXXXXXXXX';   // Spreadsheet ID
  var sh = SpreadsheetApp.openById(sheet_id).getActiveSheet();
  var newRow = sh.getLastRow() + 1;
  var rowData = [];
  var Curr_Date = new Date();
  var result = 'Ok';
  if (e.parameter == 'undefined') {
    result = 'No Parameters';
  }
  else if (e.parameter != 'undefined') {
    rowData[0] = Curr_Date; // Date in column A
    var Curr_Time = Utilities.formatDate(Curr_Date, "GMT+8", 'HH:mm:ss');
    rowData[1] = Curr_Time; // Time in column B
    for (var param in e.parameter) {
      var value = e.parameter[param].replace(/['"]+/g, '');
      switch (param) {
        case 'temperature':
          rowData[2] = value; // Temperature in column C
          result = 'Temperature Written on column C';
          break;
        case 'humidity':
          rowData[3] = value; // Humidity in column D
          result += ' ,Humidity Written on column D';
          break;
        default:
          result = "unsupported parameter";
      }
    }
    var newRange = sh.getRange(newRow, 1, 1, rowData.length);
    newRange.setValues([rowData]);
  }
  else if (newRow == 100) {
    sh.deleteRows(1, 100);
  }
  return ContentService.createTextOutput(result);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在谷歌脚本中自动删除具有多个工作表的行 - How to make automatically delete rows with multiple sheet in google script 从谷歌表中自动删除单词的脚本 - Script to automatically delete words from google sheet 使用Google Apps脚本自动将行复制到新工作表 - Copy rows automatically to new sheet with Google Apps Script 您无法删除工作表 Google Sheets Script 上的所有行 - You can't delete all the rows on the sheet Google Sheets Script 工作表受到保护时,Google App Script 删除行不起作用 - Google App Script delete rows not working while sheet is protected 删除工作表中的行(Google 脚本) - Delete Row in sheet (Google Script) 谷歌脚本删除行 - Google script to delete rows 使用带有 gmail 搜索词和工作表中的多行的 Google 表格删除带有脚本的 gmail,以进行批量处理 - Delete gmails with script using google sheet with gmail search terms and multiple rows in sheet for bulk processing Google脚本可将多行同时移动到另一张工作表-归档行并完成删除 - Google Script to Move Multiple Rows Simultaneously to Another Sheet - Archive Rows and Delete Completed 如何根据 Google App Script 中的定义删除旧条目的 Google Sheet 行? - How to delete Google Sheet rows which are old entries as per definition in Google App Script?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM