Nic*_*ico 12 arrays google-sheets google-apps-script
我收到此错误:
“参数 (number[]) 与 SpreadsheetApp.Range.setValues 的方法签名不匹配。”
当我尝试将一组值写入工作表时,在我的 Google Apps 脚本中。
下面是代码的缩短(简化)版本。实际代码运行了大约 10,000 条记录。
当setValues
调用时,错误发生在最后一行。
我知道我在这里错过了一些非常简单的东西。
function writeArrayToSheet() {
var ss = SpreadsheetApp.openById("Spreadsheet_ID");
var orderSheet = ss.getSheetByName("Sheet_Name");
var vTable = orderSheet.getRange(1,6,5,11).getValues(); //Raw data
var vWriteTable = []; //Data that will be written to sheet
var updateTime = new Date();
var i = 0;
var vSeconds = 0;
while (i < 5 && vTable[i][0] != "") {
//Logic section that calculated the number of seconds between
if (vSeconds == 0) {
vWriteTable.push("");
} else {
if (vTable[i][6] < certain logic) {
vWriteTable.push("Yes");
} else {
vWriteTable.push("");
}
}
i = i + 1;
} // End while
orderSheet.getRange(1,20,vWriteTable.length,1).setValues(vWriteTable);
} //End Function
Run Code Online (Sandbox Code Playgroud)
这是vWriteTable
调试时的样子:
The*_*ter 19
setValues
接受(并getValues()
返回):
Object[][]
一个2个物体的二维阵列它不接受的一个维数组。范围始终是二维的,与范围 height 或 width 无关。
如果 A1:A2 是范围,则对应的值数组将类似于:
[[1],[3]]
同样,A1:B1 将是
[[1,2]]
A1:B2 将是
[[1,2],[3,4]]
请注意二维如何提供方向,并且它始终是一个二维数组,即使范围的高度或宽度仅为 1。
推入一维数组使输出数组成为二维数组。
vWriteTable.push([""]);
Run Code Online (Sandbox Code Playgroud)
范围方法 getValues() 返回和 setValues() 接受什么?
归档时间: |
|
查看次数: |
17785 次 |
最近记录: |