我已经编写了gs脚本来清除工作表中所有单元格的数据。电子表格有很多工作表(约200),我得到时间限制执行错误。也许有人有想法如何解决这个问题。这是我的代码示例。
function cleanAllOld() {
var sheetsName = new Array();
var destination = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/link");
var sheets = destination.getSheets();
for (var k = 0; k < sheets.length; k++) {
sheetsName.push([sheets[k].getName()]);
for (var p = 0; p < sheetsName.length; p++) {
var sheet = destination.getSheetByName(sheetsName[p]);
if (sheet === null) {} else {
sheet.getDataRange().clearContent();
}
}
}
}
答案 0 :(得分:2)
我没有得到你的代码的全部内容,但我认为他太复杂了。这是一个有效的样本:
function AllDelete() {
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/link");
var sheets = ss.getSheets();
var i = 0;
for(i in sheets){
sheets[i].clearContents();
}
}
编辑:Max很快且正确,getDataRange()方法使用了大量的资源
答案 1 :(得分:1)
我认为问题在于确定数据范围。
尝试替换此
sheet.getDataRange().clearContent();
由此:
sheet.clearContents();