我有一个电子表格,我想在其中删除复选框标记为TRUE的行的内容。如果删除这些行,则它们在其他行之间保持空白。现在,我想以相同顺序向上移动所有行,而中间没有空行。
由于简单,我尝试了一种排序方式,但是这会洗净剩余的数据。
const index = YOUR_MODEL.fields.map(item => item.id).indexOf(req.params.id);
if(index > -1){
YOUR_MODEL.fields.splice(index, 1);
await YOUR_MODEL.save();
}else{
res.status(404).send('Field not found')
}
答案 0 :(得分:1)
用于删除复选框设置为“ TRUE”的行的脚本。
function deleteEmptyRows() {
var sheet = SpreadsheetApp.getActive().getSheetByName('blank');
var data = sheet.getRange('E:E').getDisplayValues();
for (i = data.length - 1; i >= 2; i--) {
if (data[i][0] === 'TRUE') {
sheet.deleteRow(i + 1);
}
}
}
当前,您的脚本正在清除每一行的内容,然后您尝试对列进行排序。这会导致您的数据由于排序步骤而重新排列。
相反,您可以只删除有问题的行,然后完全删除排序步骤。
我添加了一个for
语句以从下至上扫描数组(如果从上到下进行扫描,则将删除有效数据),然后添加了if
语句以检查是否值是真的。遇到if
语句时,将删除相应的行。