Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
For loop 如何在google工作表中向整列添加常量_For Loop_Google Apps Script_Google Sheets - Fatal编程技术网

For loop 如何在google工作表中向整列添加常量

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

我有一些数据要添加时间戳。目前,我正在运行一个循环,并使用下面的代码将数据添加到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(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
,则不需要数组。只需一个字符串/日期对象即可。