这是代码:
function worksheet(){
var arraymi = worksheetmi.getRange("A2:D").getValues();
var arraymi_n = [];
var arrayme = worksheetme.getRange("A2:D").getValues();
var arrayme_n = [];
for(x in arraymi){
if(arraymi[x][1] || arraymi[x][2] != ""){
var last = arraymi[x].pop();
arraymi[x].unshift(last);
arraymi_n.push(arraymi[x])
}}
for(x in arrayme){
if(arrayme[x][1] || arrayme[x][2] != ""){
var last = arrayme[x].pop();
arrayme[x].unshift(last);
arrayme_n.push(arrayme[x])
}}
var bdarray = bdworksheet.getRange("A1:A").getValues();
var length = bdarray.filter(String).length;
var bdarray = bdworksheet.getRange("A1:D"+length+"").getValues();
for(x in arraymi_n){
bdarray.push(arraymi_n[x]);
}
for(x in arrayme_n){
bdarray.push(arrayme_n);
}
var length = bdarray.length;
bdworksheet.getRange(1,1,bdarray.length,bdarray[1].length).setValues(bdarray);
}
这是错误:
范围宽度不正确,为253,但应为4(第132行,文件“代码”)
任何想法为什么会发生这种情况?在使用相同的方法之前我已经做到了,但是253宽度让我烦恼!
答案 0 :(得分:1)
显然你传递一个double数组作为appendRow
的参数,它需要一个行内容的数组,比如['q', 'w', 'e', 'r']
。
要插入双数组,请使用getRange ... setValues组合,如下所示:
var sheet = SpreadsheetApp.getActiveSheet();
var values = [[1, 2], [3, 4], [5, 6], [7, 8]];
sheet.getRange(sheet.getLastRow()+1, 1, values.length, values[0].length).setValues(values);
这会根据需要自动添加行。