[英]How to delete rows fast if they have empty values at specific columns in 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.