Скрипт приложений Google Sheets не может отфильтровать пустые строки из массива - PullRequest
0 голосов
/ 28 января 2020

Я только недавно пытался научить себя написанию сценариев для работы и ищу небольшую помощь. Я пытаюсь создать массив из нескольких листов / вкладок в электронной таблице Google с приведенным ниже;

  var fastenerKitSpreadsheet = SpreadsheetApp.openById(id);           
  var tabs = new Array();
  var fasteners = new Array();
  
  for (var i=0 ; i<sheet.length ; i++) {
    tabs.push( [ sheet[i].getName() ] );
    var data = fastenerKitSpreadsheet.getRange("B3:D50").getValues().filter(String);
  fasteners.push(data);
  }   

  Logger.log(fasteners);

несколько проблем, которые у меня возникают:

  • Фильтр (String) не удаляет пустые строки из массива.
  • регистратор, кажется, только показывает результат в журнале, если я уберу фигурные скобки "{}"
  • Я не уверен, как заставить его циклически проходить по каждой вкладке и выводить данные pu sh на конец массива крепежа.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 28 января 2020

Посмотрите, работает ли это

function stackData() {
var output = [];
SpreadsheetApp.getActive().getSheets().forEach(function (sh) {
sh.getRange('B3:D50').getValues().forEach(function (r) {
if(r.toString().replace(/,/g, "")) output.push(r)
})
})
Logger.log(output)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...