本文介绍了sheet.deleteRows()-需要从顶部删除所有具有数据的行(最好从第二行开始)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要删除200-300行(不包括第1行)。以下脚本越界错误,而且运行缓慢。有人可以帮忙加快速度吗?

I need to delete 200-300 rows, excluding row 1. The script below is getting an out of bounds error, and it's slow. Can someone help with a way to speed up the process?

**如果可能排除ROW_1

** IF POSSIBLE EXCLUDE ROW_1

function clearRange() {
  var sheet = SpreadsheetApp.getActive().getSheetByName('test');

  var start=1;
  var end=300;
  for (var i = start; i <= end; i++) 
    { sheet.deleteRow(i); }

}

推荐答案

不要在中使用循环。您可以通过一项操作删除Google Spreadsheet中的多行:

Don't use a for loop. You can delete multiple rows in a Google Spreadsheet in one operation:

var start, howManyToDelete;

start = 2;//Hard coded row number from where to start deleting

howManyToDelete = sheet.getLastRow() - start + 1;//How many rows to delete -
      //The blank rows after the last row with content will not be deleted

sheet.deleteRows(start, howManyToDelete);

如果要从第2行删除到第10行,则要删除9行。要删除的行数必须为9。删除第2行到第10行后,仅剩下第1行。

If you wanted to delete from row 2 to row 10, that is 9 rows to delete. The number of rows to delete must be 9. Only row 1 will be left after deleting row 2 to 10.

这篇关于sheet.deleteRows()-需要从顶部删除所有具有数据的行(最好从第二行开始)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-21 10:30