For loop 如何在google工作表中向整列添加常量
我有一些数据要添加时间戳。目前,我正在运行一个循环,并使用下面的代码将数据添加到Column 51中:For loop 如何在google工作表中向整列添加常量,for-loop,google-apps-script,google-sheets,For Loop,Google Apps Script,Google Sheets,我有一些数据要添加时间戳。目前,我正在运行一个循环,并使用下面的代码将数据添加到Column 51中: var date = Utilities.formatDate(new Date(), "GMT-4", "yyyy-MM-dd HH:mm") var NewLastRow = ss.getLastRow(); for (var i = 3; i < NewLastRow; i++) { ss.getRange(i,51).setValue
var date = Utilities.formatDate(new Date(), "GMT-4", "yyyy-MM-dd HH:mm")
var NewLastRow = ss.getLastRow();
for (var i = 3; i < NewLastRow; i++) {
ss.getRange(i,51).setValue(date);
ss.getRange(i,52).setValue("New_Orders");
}
var-date=Utilities.formatDate(新日期(),“GMT-4”,“yyyy-MM-dd-HH:MM”)
var NewLastRow=ss.getLastRow();
对于(变量i=3;i
这是可行的,但运行5000多行似乎非常慢。若我不必使用for循环,只需为整个列指定一个恒定的日期值,是否有更好的方法来实现这一点
谢谢以下是您正在寻找的解决方案:
function myFunction() {
var ss = SpreadsheetApp.getActive().getSheetByName("Sheet1")
var date = Utilities.formatDate(new Date(), "GMT-4", "yyyy-MM-dd HH:mm")
var NewLastRow = ss.getLastRow()
ss.getRange(3, 51, NewLastRow , 1).setValue( Array(NewLastRow).fill(date) )
ss.getRange(3, 52, NewLastRow , 1).setValue( Array(NewLastRow).fill("New_Orders") )
}
应该避免在循环中使用函数setValue()。为什么不搜索类似的问题?你为什么不阅读最佳实践?请参阅以了解更多详细信息。我知道这里有一个更好的投票结果,但push提供了添加不同值的灵活性。在GAS中,这是一种更通用的方法,经常被忽略。在最新的脚本中,如果使用了
setValue
,则不需要数组。只需一个字符串/日期对象即可。