在谷歌工作表的标题行之后添加数据



我能够成功地从API检索数据并将数据粘贴到工作表中。这很有效。

代码.gs

const sheet = SpreadsheetApp.getActiveSheet();
const headers = Object.keys(data.data[0]);
const values = [headers, ...data.data.map(o => headers.map(h => o[h]))];
sheet.getRange(sheet.getLastRow() + 1, 1, values.length, values[0].length).setValues(values);

这就是我面临的问题:

当我在过去30天内运行查询或函数时,它会将数据粘贴到工作表中,这一切都很好。但是当我再次运行查询时,它会再次粘贴带有头和行的数据,因此头数据是重复的。

我想要什么

如果我为昨天的日期运行查询,它应该粘贴带有昨天数据的页眉和行。然后,如果我在今天的日期运行查询,它应该只添加一行包含今天的数据。

在您的情况下,以下修改如何?

发件人:

const values = [headers, ...data.data.map(o => headers.map(h => o[h]))];

收件人:

var values = data.data.map(o => headers.map(h => o[h]));
if (sheet.getLastRow() == 0) values.unshift(headers);
  • 在这个修改中,通过检查第一行是否存在,添加了标题行

相关内容

最新更新