【发布时间】:2018-03-05 14:09:12
【问题描述】:
我不是专业人士,但我的电子表格需要这个 Google 脚本。我正在寻找拼图来构建我的代码。最后它可以工作,但速度很慢。有人能帮我吗?我可以在慢动作中看到代码是如何工作的。 :-(
我的电子表格或工作表有很多条目,但有些行是空的(超过 1000 行)。使用过滤器功能,我可以非常快速地隐藏这些行,只需几秒钟。我不是电子表格的用户,只是创建者。普通用户真的不是专家,使用过滤功能对他们来说是一个挑战。我认为我可以将脚本中的所有步骤组合起来,并通过按钮使其可用。一方面是隐藏空行。
脚本检查 N 列是 1 还是 0。如果有 0,则该行将被隐藏。脚本从第 7 行开始,直到 1150。隐藏一行需要一秒钟!这真的是慢动作。如果我的代码很垃圾,是否可以通过脚本激活过滤功能?
function hideRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName("Order"));
var sheet = SpreadsheetApp.getActiveSheet();
var column = 14;
var cell = 0;
var lastRow = SpreadsheetApp.getActiveSheet().getLastRow();
for (var row = 7; row < lastRow; row++) {
cell = sheet.getRange(row, column).getValues();
if (cell == 0){
sheet.hideRows(row);
}
else {
sheet.showRows(row);
}
}
}
【问题讨论】:
-
您应该获取数组中的所有值,然后在循环中遍历它们,而不是一次获取一个值。它会明显更快。
标签: google-apps-script google-sheets