Функция фильтра не удалит мои пустые строки - Google App Script - PullRequest
0 голосов
/ 12 июня 2019

Я хочу импортировать строки из одного листа 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 голосов
/ 13 июня 2019

вот как бы я это сделал.Сначала создайте переменную для хранения массива источника.затем выполните цикл for для сканирования первого столбца на пустые места.что-то вроде: for (var i = 0, i XXXX означает, что вы можете поставитькод для создания нового набора массивов, который можно сразу передать целевому листу или использовать строку добавления для переноса непустых строк на целевой лист по очереди.

Примечание. Создание нового массива для хранения непустых строк ускорит время выполнения, если вы имеете дело с большими данными, тысячами строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...