为了修复错误,我正在寻找帮助:
数据中的行数与范围内的行数不匹配
var s = SpreadSheetApp.getActive().getActiveSheet();
var file1 = SpreadSheetApp.openById(DriveApp.getFilesByName("test1").next().getId()); // 6000 rows
var file2 = SpreadSheetApp.openById(DriveApp.getFilesByName("test2").next().getId()); // 4000 rows
var file2 = SpreadSheetApp.openById(DriveApp.getFilesByName("test2").next().getId()); // 7000 rows
var files = [file1,file2,file3];
var lastRow = 1;
for (var i = 0; i<=files.length;i++){
var rangeSource = files[i].getRange("A:AZ").getValues();
s.getRange("A"+lastRow+":AZ").setValues(rangeSource);
lastRow = s.getLastRow();
}
我知道行数不匹配,但我正在寻找避免此错误的提示,不要在源数据中插入行,也不需要在当前工作表的第一个单元格中使用IMPORTRANGE公式。
如果有人有这样的错误解决方案,这可能是非常好和有用的!
我已经搜索过这样的问题了,但我还是不明白,给出的例子对我来说太复杂了,因为我是编码新手。
真诚!
BigBenne
发布于 2021-05-20 09:31:15
function myfunc() {
const tsh = SpreadsheetApp.getActiveSheet();
var file1 = DriveApp.getFilesByName("test1").next().getId(); // 6000 rows
var file2 = DriveApp.getFilesByName("test2").next().getId(); // 4000 rows
var file3 = DriveApp.getFilesByName("test3").next().getId(); // 7000 rows
var files = [file1, file2, file3];
var lastRow = 1;
files.forEach(id=>{
let ss = SpreadsheetApp.openById(id);
let sh = ss.getSheets()[0];
let vs = sh.getRange(1,1,sh.getLastRow(),26).getValues();
tsh.getRange(tsh.getLastRow() + 1,1,vs.length,vs[0].length).setValues(vs);
});
}
https://stackoverflow.com/questions/67622241
复制相似问题