![](/img/trans.png)
[英]Pull data from one Google spreadsheet to another using Google script
[英]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.