下面是我的代码,在最后一行代码中,我得到了一个"无法转换错误"。 澄清一行:sheet.getRange
会引发错误。
这就是错误所说的;仅此而已,#34;无法转换"。此外,这是完整的代码,所以没有别的。
function days(){
var table = new Array(7);
for ( var i = 0; i < 7 ; i ++){
table[i] = i+2;
}
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Want");
sheet.getRange("B2:B9").setValues(table);
}
答案 0 :(得分:3)
SetValues()
将2维数组作为参数,TABLE
是1维数组...这不能正常工作......虽然很容易改变,但是表格是一个二维数组7个要素。
像这样:table[i] = [i+2];
btw,范围('B2:B9')高8个单元格,你只给出7个值...那里会出现问题!
答案 1 :(得分:3)
我对Google Apps脚本一无所知,但我设法在Google上找到this。
看来你的桌子需要是一个二维数组。
也许这会有所帮助?
(代码来自上面的链接)
var myTable = [[1, 2, 3, 4],[5, 6, 7, 8]];
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(1,1,2,4).setValues(myTable);
答案 2 :(得分:1)
我想出了这个问题的问题,所以我会回答这个问题,以便其他人可以受益。这里的问题是Range对象的.setValues方法必须给出一个二维数组[] []。所以我在另一个内部创建了一个0维数组,这样我现在就拥有了一个二维数组。
var array = new Array(7);
for (var i = 0; i < 7; i++) {
array[i] = new Array(0);
}