繁体   English   中英

Google Apps脚本:如何从一个电子表格中提取今天输入的数据并将其转换为另一电子表格?

[英]Google Apps Script: How do I pull data entered today from one spreadsheet and transpose it to another?

好的,我已经为此工作了大约一个月。 我尝试了许多不同的方法来完成此操作,但我想我已经接近了。 我不是专家,但这是我想要做的。 我创建了一个表格,使我可以捕获儿子的行为数据。 (他是自闭症的,所以这很重要。)我可以将表单中的数据获取到结果电子表格中,然后可以将数据传输到预先格式化的新报表样式电子表格中。 我不能做的是有效地过滤日期。 我的脚本在下面。

function onOpen() {
var rawdata=SpreadsheetApp.openById("0AtkuL_H_DshvdFU5U1dBLVI1NWhlWXdSNjBXOHdIaUE");
var sheet1=rawdata.getSheetByName("FormResponses");
var maxrows=sheet1.getMaxRows();
var lastcol = sheet.getLastColumn();
var vals=sheet1.getRange(1,1,maxrows,1).getValues();

  var date = new Date();
  var newDate = date.setDate(date.getDate()+1);
  var Sdate=Utilities.formatDate(date,"GMT-0400","yyyy:MM:dd");
  var newerDate=Utilities.formatDate(newDate,"GMT-0400","yyyy:MM:dd");

var filter=ArrayLib.filterByDate(vals,1,Sdate,newerDate);
var range1 = sheet1.getRange(1,1,filter,lastcol);
var values = range1.getValues();
var target = SpreadsheetApp.openById("0AtkuL_H_DshvdGxWNGJ0ZjA2VU5zV01iaVNacDZQYWc")
var sheet2 = target.getSheetByName("Sheet1");
var range2 = sheet2.getRange(4,1,i,7);
SpreadsheetApp.setActiveSpreadsheet(rawdata);
values
SpreadsheetApp.setActiveSpreadsheet(target);
range2.setValues(values);
}


//for (var i = 0; i < maxrows; i++) if (Date.parse(vals[i]).valueOf() >= todaydt.valueOf() );

最后一行是我尝试过滤日期的先前方法。 那是我无法完全工作的部分。 我面临的挑战之一是我还不太了解“ for”命令。 我正在上CodeAcademy Java课程,但是自从我工作以来,有一个家庭,不要为了生计缓慢而这样做。 我已经搜索了大约一千个网站,并尝试了多种方法来过滤日期,但是我无法使用它们。 任何帮助表示赞赏。

我假设arraylib.filterbydate需要日期,但是您正在传递字符串。 尝试传递日期。 或者,只要该lib允许,就按字符串过滤。 由于您将日期字符串格式化为yyyymmdd,因此可以进行字符串比较。

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM