筛选器功能不会删除我的空行-Google App脚本

时间:2019-06-12 14:38:39

标签: javascript arrays google-apps-script

我想从一个Google工作表导入行到另一个Google工作表,但是源工作表导入许多空行。现在,我使用过滤器功能删除了这些行,但是它们不会消失,有人可以告诉我为什么吗?

var a = SpreadsheetApp.openByUrl("url").getSheetByName("Admin Use Only").getRange(4,1,6,21).getValues();

  var b = SpreadsheetApp.getActive().getSheetByName('Credit_Detail'); 

  b.getRange(b.getLastRow() +1, 1, a.length,21).setValues(a);

  //filter function below:

  var otarget=b.getRange(2,1,b.getLastRow()-1, 26).getValues();

  var data=otarget.filter(function(r){

    return !r.every(function(cell){

    return cell === "";});

  });

  Logger.log(data);

  b.getRange("A2:Z").clearContent();

  b.getRange(3,1,data.length,data[0].length).setValues(data);

1 个答案:

答案 0 :(得分:0)

这是我要怎么做。首先,创建一个变量来存储源数组。然后运行for循环扫描第一列中是否有空。类似于:for(var i = 0,i

XXXX意味着您可以放置​​代码来创建一组新的数组,该数组可以立即传递到目标表,也可以使用附加行将非空白行逐一传输到目标表。

注意:如果要处理大数据,数千行,创建一个新数组来存储非空行将加快执行时间。