繁体   English   中英

过滤功能不会删除我的空行 - Google App Script

[英]Filter function will not delete my empty rows - Google App Script

我想将一个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);

这是我怎么做的。 首先,创建一个变量来存储源数组。 然后运行for循环扫描第一列用于清空。 类似于:for(var i = 0,i <data.length; i ++){if(data [i] [0]!=''){XXXX}}

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM