我需要使用google脚本删除工作表中的所有空行。到目前为止,我已经尝试过标准方法:
function removeEmptyRows(){
var sh = SpreadsheetApp.getActiveSheet();
var maxRows = sh.getMaxRows();
var lastRow = sh.getLastRow();
sh.deleteRows(lastRow+1, maxRows-lastRow);
}
这适用于真正空行,但是当涉及由数组公式产生的“不可见值”占用的行时会失败,尽管这些公式使用IFERROR(1/0)
。
如何删除包含空白的所有行?
答案 0 :(得分:0)
以下脚本怎么样?在此脚本中,仅包含空格(空格)的单元格将更改为" null"。
数组的元素会被覆盖到电子表格中。
function removeEmptyRows() {
var sh = SpreadsheetApp.getActiveSheet();
var data = sh.getDataRange().getValues();
for (var i in data){
for (var j in data[i]){
if (data[i][j].length > 0 && !/^[a-zA-Z0-9]+$/.test(data[i][j])){
data[i][j] = null;
}
}
}
sh.getRange("A1").offset(0,0, data.length, data[0].length).setValues(data);
}