从电子表格中删除空行

时间:2019-07-16 09:50:22

标签: google-apps-script google-sheets

我有一个电子表格,我想在其中删除复选框标记为TRUE的行的内容。如果删除这些行,则它们在其他行之间保持空白。现在,我想以相同顺序向上移动所有行,而中间没有空行。

由于简单,我尝试了一种排序方式,但是这会洗净剩余的数据。

const index = YOUR_MODEL.fields.map(item => item.id).indexOf(req.params.id);
if(index > -1){
YOUR_MODEL.fields.splice(index, 1);
      await YOUR_MODEL.save();
}else{
 res.status(404).send('Field not found')
}

1 个答案:

答案 0 :(得分:1)

目标:

用于删除复选框设置为“ TRUE”的行的脚本。


代码:

function deleteEmptyRows() {
  var sheet = SpreadsheetApp.getActive().getSheetByName('blank');
  var data = sheet.getRange('E:E').getDisplayValues();
  for (i = data.length - 1; i >= 2; i--) {
    if (data[i][0] === 'TRUE') {
      sheet.deleteRow(i + 1);
    }
  }
}

说明:

当前,您的脚本正在清除每一行的内容,然后您尝试对列进行排序。这会导致您的数据由于排序步骤而重新排列。

相反,您可以只删除有问题的行,然后完全删除排序步骤。

我添加了一个for语句以从下至上扫描数组(如果从上到下进行扫描,则将删除有效数据),然后添加了if语句以检查是否值是真的。遇到if语句时,将删除相应的行。


参考: