gpt4 book ai didi

javascript - 谷歌脚本超时

转载 作者:行者123 更新时间:2023-12-02 22:01:12 26 4
gpt4 key购买 nike

我的脚本超时了,我猜是因为它超过了 6 分钟限制。有谁知道如何优化它以使其运行得更快?

此脚本的目的是将所有数据从一张工作表复制到另一张工作表,然后在目标工作表上填写一些公式。

复制的数据量相当大(R 的 20,000 行和列),但我不认为数据量太多以至于应该超时?我对此很陌生,因此非常感谢任何建议!

这是脚本:

function copyPasteTo2ndSheet()
{
var copyURL = 'ThisIsTheOriginSheetURL';
var pasteURL = 'ThisIsTheDestinationSheetURL';

var ssCopy = SpreadsheetApp.openByUrl(copyURL);
var ssPaste = SpreadsheetApp.openByUrl(pasteURL);

var copySheet = ssCopy.getSheetByName('Orders');
var pasteSheet = ssPaste.getSheetByName('Orders');
var lr = copySheet.getLastRow();
var copyData = copySheet.getRange('A2:R'+lr).getDisplayValues();
var pasteLr = pasteSheet.getLastRow();
pasteSheet.getRange('A2:R'+pasteLr).clear();
pasteSheet.getRange('A2:R'+lr).setValues(copyData);

copyPasteFormula(pasteSheet)
}

function copyPasteFormula(sheet)
{
var formulas = sheet.getRange(2, 1, 1, sheet.getLastColumn()).getFormulas()[0];
var lr = sheet.getLastRow();
for(var i in formulas)
{
var formula = formulas[i];
if(formula !== '')
{
var j = parseInt(i)+1;
sheet.getRange(3, j, lr, 1).setFormula(formula);
}
}
}

最佳答案

根据我的经验,必须重复 20,000 个单元格的sheet.getRange(3, j, lr, 1) 行可能会导致问题。

获取或设置工作表的命令通常需要更长的时间并使用更多的内存来运行。结果是recommended to either batch你得到的,或者在这种情况下,你可以复制整行粘贴它。复制公式并将其粘贴到不同的单元格中将更新单元格引用,就像在 UI 中一样。

关于javascript - 谷歌脚本超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59869149/

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