Google AppScript 忽略空行

Google AppScript Ignore blank rows

我有一个输出脚本,它获取一行中每个单独单元格的单元格内容并将它们输出到 txt 文件(这些文本文件输出到一个从动态列表命名的文件夹)。我所在的页面 运行 这个脚本是动态的,所以有时会有一些空行 - 我想从输出脚本中排除所有空白行,但我无法弄清楚。下面是当前脚本(除了空白行问题外,它运行良好)

    function Output() {
  var ss = SpreadsheetApp.getActive();
  var sh = ss.getActiveSheet();
  var rg = sh.getRange(2, 2, sh.getLastRow(), 2);
  var vs = rg.getValues();
  vs.forEach(r => DriveApp.getFolderById(deleteOutput('1m_-D9loocLQEJ_2AMWS1EAm3pJeFycpV', r[0])).createFile('output.txt', r[1]));
}
function deleteOutput(parentId, name) {
  var parent = DriveApp.getFolderById(parentId);
  var id;
  var folders = parent.getFoldersByName(name);
  if (folders.hasNext()) {
    var folder = folders.next();
    id = folder.getId();
    var files = folder.getFiles();
    while (files.hasNext()) {
      var file = files.next();
      if (file.getName() == 'output.txt') { file.setTrashed(true) }
    }
  }
  else {
    var folder = parent.createFolder(name);
    id = folder.getId();
  }
  return id;
}

任何人都可以帮助我或指出正确的方向以便我可以排除这些行

非常感谢任何帮助:)

消除空白行

function Output() {
  var ss = SpreadsheetApp.getActive();
  var sh = ss.getActiveSheet();
  var rg = sh.getRange(2, 2, sh.getLastRow()-1, 2);
  var vs = rg.getValues().filter(r => r.join(""));//eliminates blank rows
 
}

Array.filter

尝试:

var vs = rg.getValues().filter(r => r.every(Boolean));

.every(Boolean).filter() 结合使用将删除所有行,但每个单元格都包含值的行除外。

了解更多: