Google apps script 由于数据集太大,Google脚本不断崩溃
我使用google脚本访问google工作表,以可视化方式显示数据。下面的函数可以工作,但是,由于google工作表中的数据量,它开始崩溃或运行缓慢。Google正在抛出一个警告Google apps script 由于数据集太大,Google脚本不断崩溃,google-apps-script,Google Apps Script,我使用google脚本访问google工作表,以可视化方式显示数据。下面的函数可以工作,但是,由于google工作表中的数据量,它开始崩溃或运行缓慢。Google正在抛出一个警告方法Range.getValue被脚本大量使用。 我该怎么写呢 function generateUsers() { var spreadSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var rr = spreadSheet.get
方法Range.getValue被脚本大量使用。
我该怎么写呢
function generateUsers() {
var spreadSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var rr = spreadSheet.getLastRow();
var users = [];
for (var i = 3; i <= rr; i++) {
var firstName = spreadSheet.getRange(i, 1).getValue();
var lastName = spreadSheet.getRange(i, 2).getValue();
var phone = spreadSheet.getRange(i, 12).getValue();
var user = {
firstName: firstName,
lastName: lastName,
phone: phone
};
users.push(user);
}
return users; // Modified
}
函数生成器(){
var电子表格=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var rr=电子表格.getLastRow();
var用户=[];
对于(var i=3;i这个修改如何?请将其视为几个答案之一
修改脚本:
在此修改中,首先从电子表格中检索所有值。然后,根据检索到的值创建user
。请按如下方式修改脚本
发件人:
参考资料:
如果这不是您想要的结果,我很抱歉。回答得很好–简化了查询的索引。@Yaakov Bressler非常感谢您。
var users = [];
for (var i = 3; i <= rr; i++) {
var firstName = spreadSheet.getRange(i, 1).getValue();
var lastName = spreadSheet.getRange(i, 2).getValue();
var phone = spreadSheet.getRange(i, 12).getValue();
var user = {
firstName: firstName,
lastName: lastName,
phone: phone
};
users.push(user);
}
var values = spreadSheet.getRange(3, 1, rr - 2, 12).getValues();
var users = values.map(function(row) {
return {
firstName: row[0],
lastName: row[1],
phone: row[11]
};
});