簡體   English   中英

自動刪除 Google 表格腳本中的行

[英]Automatically Delete rows in Google sheet script

我正在嘗試編寫一個谷歌腳本來更新傳感器數據谷歌表。這部分沒問題。

我嘗試添加一個 function clearRange(),當數據更新到 100 行時刪除前 100 行並重新更新數據。 我在這里缺少什么嗎?

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

嘗試這個:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM