我正在尝试构建一个nodejs应用程序,它将在每周运行一次。它的工作是在上周和今天之间从Google电子表格中获取数据。基本上,我想在上周获得数据。
我相信这是我要使用的:https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet 但如果有更好的事情,请告诉我。
我认为SpreadSheet.getActiveSheet().getRange()
会返回一个包含所有数据的数组,但我不知道在哪里可以添加某种查询来按日期获取数据。
像
这样的东西SpreadSheet.getActiveSheet().getRange(date > lastWeek && date < today)
有没有办法实现这个?
答案 0 :(得分:1)
据我所知,没有办法知道何时添加了一行,因此你的范围不起作用。
我这样做的方法是在每一行添加时间戳,并在所有数据上迭代以找到适合的值。 (您也可以在最后一行读取并从那里开始)。
var sheet = SpreadsheetApp.openById(id).getSheetByName(name)
var data = sheet.getDataRange().getValues();
for (var i = 0 ; i < data.length; i++){
if (data[i][index_of_timestamp] < today && data[i][index_of_timestamp] > lastWeek){
realData.push(data[i]);
}
}