如何忽略使用A1表示法的getRange()getValues()中的空行

时间:2019-07-02 15:54:38

标签: google-apps-script google-sheets

自学如何在Google Apps脚本中进行编码,但我无法弄清楚如何基于getRange A1表示法忽略数组中的空白行。

如果我的范围仅是一列,则此另一篇文章也可以使用,但是如果整行为空白,而不仅仅是一列中的值,我将尝试这样做。

How to ignore empty cell values for getRange().getValues()

function myFunction() {
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getSheetByName("sample");
 var data = sheet.getRange("A1:E").getValues();
 var filtered = data.filter(String);
Logger.log(filtered);
}

在上面的代码示例中,我的日志仍然显示填充行之后的所有空白行。如果我将A1表示法更改为A1:A,则可以使用,但是我想基于整个行进行过滤。

感谢帮助新手。

1 个答案:

答案 0 :(得分:0)

尝试一下:

function myFunction() {
 var ss = SpreadsheetApp.getActive();
 var sheet = ss.getSheetByName("sample");
 var data = sheet.getRange(1,1,sheet.getLastRow(),5).getValues();
 var filtered = data.filter(String);
 Logger.log(filtered);
}

您也可以这样做。

function myFunction() {
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getSheetByName("Sheet2");
 var data = sheet.getRange("A1:F").getValues();
  var filtered = data.filter(function(r){
    return r.join("").length>0;
  });
Logger.log(filtered);
}