簡體   English   中英

如何使用 Google Apps Script 將字符串添加到 Google Sheet 的下一行

[英]How to add string to next row in Google Sheet using Google Apps Script

我正在從 android studio 制作一個程序來將字符串添加到谷歌表。 我正在使用 Google Script 進行輸入。 我在嘗試向單元格輸入字符串時卡住了。

function addItem(e){
  var sheet =  ss.getSheetByName('items');
  var date = e.parameter.date;
  var lc = sheet.getLastColumn();
  var lr = sheet.getLastRow();
    
   for (var a = 2; a <= lr; a++){
     var dd = sheet.getRange(a,1).getValue();
      if (dd == date){
       }
      if (dd != date){
       sheet.getRange(a+1, 1).setValue(date);
       }
   }
}

我第一次輸入它按預期工作,但是當我第二次輸入(使用不同的日期)而不是跳過和寫入時,第一個日期剛剛被替換。 我不知道出了什么問題,因為如果第二個日期不同,它應該跳過第一個,對嗎? 我遇到的

可能它可能是這樣的:

function addItem(e) {
  ss.getSheetByName('items').appendRow([e.parameter.date]);
}

更新

這是擴展的工作示例,如果您需要跳過重復的日期,如何完成:

var ss = SpreadsheetApp.getActiveSpreadsheet();

function main() {
  var e = {parameter: {date : '123'}}; 
  addItem(e); // it will add a line

  e = {parameter: {date : '123'}}; 
  addItem(e); // it won't add a line, because the 'date' is the same

  e = {parameter: {date : '1234'}}; 
  addItem(e); // it will add a line again
}

function addItem(e) {
  var sheet = ss.getSheetByName('items');
  var data = sheet.getDataRange().getValues(); // get all data from the sheet
  var old_date = data.pop()[0];                // get first cell of last row of the data
  var new_date = e.parameter.date;             // new date
  if (old_date != new_date) sheet.appendRow([new_date]); // add a row if the dates aren't equal
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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