在我的google脚本中,我尝试复制一些行,其中包含从工作表到另一个工作表的数据条件
我对从表格中获取日期有疑问
我尝试了以下内容:
var date_check = new Date(data[i][4]);
其中[i]是索引,4是日期所在的列。(日志只告诉我相对数字,所以我尝试从该数字创建新日期,但只生成一个NaN变量。
这是所有代码
function copy() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName('ISCRITTI');
var sheet2 = ss.getSheetByName('2012');
var todayDate = new Date('1/1/2012');
var data = sheet1.getRange(2,1, sheet1.getLastRow(), sheet1.getLastColumn()).getValues();
var dest = [];
for (var i = 0; i < data.length; i++ ) {
Logger.log(data[i][4]);// return a number not the date in the sheets
var date_check = new Date(data[i][4]);
Logger.log(date_check); // return NaN
Logger.log(todayDate.getFullYear()); //return 2012.0
if ( todayDate.getFullYear()===date_check.getFullYear()) {
dest.push(data[i]);
}
} // here is the end of the for loop
if (dest.length > 0 ) {
sheet2.getRange(sheet2.getLastRow()+1,1,dest.length,dest[0].length).setValues(dest);
}
}
我错过了什么?谢谢你的时间
答案 0 :(得分:0)
它对我有用。我将其修改为在我的环境中工作,我取出了所有日期检查的东西并使用了getDataRange。
function copy()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getActiveSheet();
var data = sheet1.getDataRange().getValues();
var dest = [];
for (var i = 0; i < data.length; i++ )
{
dest.push(data[i]);
}
sheet1.getRange(sheet1.getLastRow()+1,1,dest.length,dest[0].length).setValues(dest);
}