【发布时间】:2018-09-04 19:25:19
【问题描述】:
我有一个带有复选框的模板表,我想将选中的复选框复制到新表中。我有一个涉及添加行的工作版本,但我正在寻找更快的东西。我认为在新旧工作表上获取一系列值并处理数组是最好的,但我遇到了一个错误:
'不能将数组转换为Object[][]"。
我认为问题与这是一张新的未填充工作表有关。下面的代码是正在发生的事情的最简单示例。是我做错了什么,还是这不可能?
function test(){
var s = SpreadsheetApp.getActiveSpreadsheet().insertSheet();
var r = s.getRange(1,1,5);
var v = r.getValues();
for ( var i=0; i < 5; i++) {
v[i] = i;
}
r.setValues(v); //ERROR: Cannot covert Array to Object[][]`enter code here`
}
看起来像行 v[i] = i;将 Object[][] 转换为数组。所以,我认为(奇怪)我需要创建一个新数组[][],如下所示:
function test(){
var s = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var r = s.getRange(1,1,5,1);
var v = r.getValues();
var ta = [];
for ( var i=0; i < 5; i++) {
ta[i] = [];
ta[i].push(i) ;
}
r.setValues(ta);
}
【问题讨论】:
标签: google-apps-script google-sheets