这是我的床单
如您所见,第2行和第6行为空,因为我手动删除了某些产品。我的问题是如何以编程方式删除那些空行并替换为其他产品填充行?
var ss = SpreadsheetApp.openById("my spreadsheet id");
var sheet = ss.getSheets()[0];
var data = sheet.getDataRange().getValues();
答案 0 :(得分:1)
删除所有空行
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
}
});
}
答案 1 :(得分:0)
这是Spreadsheet
类的文档:https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet
有关deleteRow
的信息可以在这里找到:https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet#deleterowrowposition
示例:
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);