首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从旧的时间戳中添加和删除响应表中的行?

从旧的时间戳中添加和删除响应表中的行?
EN

Stack Overflow用户
提问于 2021-03-24 09:58:07
回答 2查看 44关注 0票数 0

我有一份谷歌回应表。我每天晚上12点运行这个工作表。每当收到一些响应时,我想将该行附加到另一个工作表中,并在表单响应中删除相应的行。在这里,我想从表单响应中最早的时间戳开始添加,即从第二行开始,因为第一行是问题。每当我运行这段代码时,我成功地添加了行,但不能删除行。下面是我想要做的代码:

代码语言:javascript
运行
复制
//** Copying the response to another Spreadsheet for roster management**//
 function copySheet(){
  var source = SpreadsheetApp.getActiveSpreadsheet();
  var sourceSheet = source.getSheetByName("Form Responses 1");
  var lastRow = sourceSheet.getLastRow();
  var getData = sourceSheet.getDataRange().getValues();
  var destSheet = source.getSheetByName("10017135ADC");
  Logger.log(lastRow);
   if(lastRow >1){
    for (var j =1; j<lastRow; j++) {
    //    Logger.log(j);
       var rowData = getData[j];
    //    Logger.log(rowData);
       destSheet.appendRow(rowData);
       sourceSheet.deleteRow(j);
    } 
  }
} 
EN

回答 2

Stack Overflow用户

发布于 2021-03-24 11:22:29

试试这个:

代码语言:javascript
运行
复制
 function copySheet(){
  var source = SpreadsheetApp.getActiveSpreadsheet();
  var sourceSheet = source.getSheetByName("Form Responses 1");
  var lastRow = sourceSheet.getLastRow();
  var getData = sourceSheet.getDataRange().getValues();
  var destSheet = source.getSheetByName("10017135ADC");
  Logger.log(lastRow);
  let d=0;//keep track of deleted rows 
   if(lastRow >1){
    for (var j =1; j<lastRow; j++) {
    //    Logger.log(j);
       var rowData = getData[j];
    //    Logger.log(rowData);
       destSheet.appendRow(rowData);
       sourceSheet.deleteRow(j-d++);
    } 
  }
} 
票数 1
EN

Stack Overflow用户

发布于 2021-03-24 11:54:39

Cooper的新变量方法很好。但向上删除是一种更好的方法。

试试这样的东西

代码语言:javascript
运行
复制
for (var i = getData.length - 1; i > 1; i--) {
  //anything you want to perform
  destSheet.appendRow(getData[i]);
  sheet.deleteRow(i);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66773715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档