Javascript 谷歌应用程序脚本:我如何从一个电子表格中提取今天输入的数据并将其转换到另一个电子表格?
好吧,我已经做了一个月了。我尝试了很多不同的方法,我想我已经接近了。我不是专家,但以下是我要做的。我已经创建了一个表单,允许我为我的儿子捕获行为数据。(他患有自闭症,这就是为什么这一点很重要。)我可以将表格中的数据输入结果电子表格,然后将数据传输到新的报告样式的预格式化电子表格中。我不能做的是有效地过滤日期。我的剧本在下面Javascript 谷歌应用程序脚本:我如何从一个电子表格中提取今天输入的数据并将其转换到另一个电子表格?,javascript,date,filter,google-apps-script,filtering,Javascript,Date,Filter,Google Apps Script,Filtering,好吧,我已经做了一个月了。我尝试了很多不同的方法,我想我已经接近了。我不是专家,但以下是我要做的。我已经创建了一个表单,允许我为我的儿子捕获行为数据。(他患有自闭症,这就是为什么这一点很重要。)我可以将表格中的数据输入结果电子表格,然后将数据传输到新的报告样式的预格式化电子表格中。我不能做的是有效地过滤日期。我的剧本在下面 function onOpen() { var rawdata=SpreadsheetApp.openById("0AtkuL_H_DshvdFU5U1dBLVI1NWhlW
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() );
函数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 newDate=date.setDate(date.getDate()+1);
var Sdate=实用程序.formatDate(日期,“GMT-0400”,“yyyy:MM:dd”);
var newerDate=Utilities.formatDate(newDate,“GMT-0400”,“yyyy:MM:dd”);
var filter=ArrayLib.filterByDate(VAL,1,Sdate,newerDate);
var range1=sheet1.getRange(1,1,过滤器,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(原始数据);
价值观
SpreadsheetApp.setActiveSpreadsheet(目标);
范围2.设定值(值);
}
//对于(var i=0;i最后一行是我之前尝试过滤日期的方法。这是我不能完全开始工作的部分。我面临的部分挑战是,我还不太理解“for”命令。我正在学习CodeAcademy java课程,但是因为我工作,有家庭,而且不是为了谋生,所以学习速度很慢。我已经搜索了上千个网站,尝试了许多方法来过滤日期,但我无法让它们中的任何一个发挥作用。感谢您的帮助 我假设arraylib.filterbydate接受日期,但您正在传递字符串。试着打发时间。
或者,如果lib允许,只需按字符串过滤即可。因为您正在将日期字符串格式化为yyyymmdd,所以字符串比较可以工作。好的,太好了。我试试看它是否管用。谢谢你的帮助。