sheet.deleteRows()-需要从顶部删除所有具有数据的行(最好从第二行开始) [英] sheet.deleteRows() - Need to delete all the rows with data from top (preferably from 2nd row)

查看:495
本文介绍了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()-需要从顶部删除所有具有数据的行(最好从第二行开始)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆