Javascript 以编程方式删除空行

Javascript 以编程方式删除空行,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,这是我的床单 如您所见,第2行和第6行为空,因为我手动删除了一些产品。我的问题是如何以编程方式删除这些空行并替换为其他产品填充行 var ss = SpreadsheetApp.openById("my spreadsheet id"); var sheet = ss.getSheets()[0]; var data = sheet.getDataRange().getValues(); 以下是电子表格类的文档: 有关删除行的信息可在此处找到: 例如: var ss =

这是我的床单

如您所见,第2行和第6行为空,因为我手动删除了一些产品。我的问题是如何以编程方式删除这些空行并替换为其他产品填充行

var ss = SpreadsheetApp.openById("my spreadsheet id");
var sheet = ss.getSheets()[0];
var data = sheet.getDataRange().getValues();

以下是
电子表格
类的文档:

有关删除行的信息可在此处找到:

例如:

var ss = SpreadsheetApp.openById("my spreadsheet id");
var sheet = ss.getSheets()[0];
// Rows start at "1" - this deletes the first row
sheet.deleteRow(2);
sheet.deleteRow(6);
删除所有空行

function deleteEmpties() {
  //I would typically prefer SpreadsheetApp.getActive() but I used this because thats what you function contained
  const ss=SpreadsheetApp.openById("my spreadsheet id");
  //I would typical prefer using getSheetByName() but I used this because thats what your function contained
  const sh=ss.getSheets()[0];
  const shsr=2;//data start row
  const vs=sh.getRange(shsr,1,sh.getLastRow()-shsr+1,sh.getLastColumn()).getValues();
  let d=0;//delete counter
  vs.forEach(function(r,i){
    //deletes row if row is completely empty
    if(r.join('').length==0) {
      sh.deleteRow(i+shsr-d++)//increment delete counter on each delete because the rows are leaving the spreadsheet but not the data array
    }
  });
}

谢谢你的评论,但是
sheet.deleteRow(2);第页删除第(6)行根本帮不上忙,因为我必须删除很多产品,例如。我不能为每一行写
sheet.deleteRow()
。你知道一个更有效的方法吗?只是一个想法,但是如果你从下到上迭代,你不需要删除计数器。我以前是这样做的,但我发现我更喜欢这种方法。