我真的看不到你如何自动处理这个,因为你在python中输入值,所以onChange
触发器不起作用.
还可以根据输入的频率创建基于时间的触发器和数据库。
如果你仍然需要它,你可以尝试这个
这将在范围内删除,但不是整个行,意味着这不会影响其他数据.
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet = ss.getActiveSheet();
var limit = 50;
var numRows = sheet.getLastRow();
var range = sheet.getRange('A1:B' + numRows + '');
var values = range.getValues();
var numRowsToDelete = 0;
if (numRows > limit){
numRowsToDelete = numRows - limit;
values.splice(0, numRowsToDelete)
for (var i = 0; i < numRowsToDelete; i++)
{
var arr = [];
for (var j = 0; j < values[0].length; j++)
arr.push("");
values.push(arr)
}
range.setValues(values);
}
}
或者更简单,如果你想删除整行
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet = ss.getActiveSheet();
var numRows = sheet.getLastRow();
var limit = 50;
if (numRows > limit){
var numRowsToDelete = numRows - limit;
//first argument is the start index where you delete so if you
// have a header you can put 2 and add a + 1 to the limit variable
sheet.deleteRows(1, numRowsToDelete);
}
}
参考:
基于时间的触发