在两个日期之间从Google电子表格中获取数据

时间:2017-10-10 13:59:23

标签: javascript node.js google-apps-script google-sheets google-spreadsheet-api

我正在尝试构建一个nodejs应用程序,它将在每周运行一次。它的工作是在上周和今天之间从Google电子表格中获取数据。基本上,我想在上周获得数据。

我相信这是我要使用的:https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet 但如果有更好的事情,请告诉我。

我认为SpreadSheet.getActiveSheet().getRange()会返回一个包含所有数据的数组,但我不知道在哪里可以添加某种查询来按日期获取数据。

这样的东西
SpreadSheet.getActiveSheet().getRange(date > lastWeek && date < today)

有没有办法实现这个?

1 个答案:

答案 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]);
  }
}