gpt4 book ai didi

javascript - 气体/Javascript : How do I set values to only empty rows at the bottom of the sheet

转载 作者:行者123 更新时间:2023-12-02 21:42:17 27 4
gpt4 key购买 nike

我有一个每天运行的脚本,每天都会将新值设置为谷歌表格。我担心的是每次脚本运行时,它都会覆盖现有数据。我想要的是工作表底部最后一行的数据集,以便有一个延续。我已尝试使用下面的代码,但它不起作用。我该怎么做?

 var ss= SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var lr=ss.getLastRow();
var range = ss.getRange(1,10,lr-1)
for (var j = 0; j < requestObjects.length; j++) {

if(requestObjects[j].TimeOffTypeName != "Sick") {
ss.getRange(1 + j,1).setValue(requestObjects[j].Firstname);
ss.getRange(1+ j, 2).setValue(requestObjects[j].Lastname);
ss.getRange(1 + j,3).setValue(requestObjects[j].LoginID);
ss.getRange(1 + j,4).setValue(requestObjects[j].TimeOffTypeName);
ss.getRange(1 + j,5).setValue(requestObjects[j].TimeOffDayOfWeek);
ss.getRange(1 + j,6).setValue(requestObjects[j].SubmittedDate);
ss.getRange(1 + j,7).setValue(requestObjects[j].TimeOffHours);
ss.getRange(1 + j,8).setValue(requestObjects[j].TimeOffDate);
ss.getRange(1 + j,11).setValue(requestObjects[j].Status);
}

最佳答案

使用Object.values() (如果对象值是有序的。如果没有,则使用 destructuring 来获取值)创建一个输出数组,然后输出该数组:

 const ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const lr = ss.getLastRow();
const output = requestObjects.map(obj => Object.values(obj));
//const output = requestObjects.map(({Firstname,LastName,LoginID}) => [Firstname, LastName, LoginID]);//destructuring
ss.getRange(lr + 1, 1, output.length, output[0].length).setValues(output);//batch set values on the lr+1

关于javascript - 气体/Javascript : How do I set values to only empty rows at the bottom of the sheet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60340445/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com