我在使用时不断收到错误消息setValues()
函数将数组导出到 Google 表格。我尝试了许多不同的方法来创建二维数组,但仍然不断收到相同的错误。有时我的代码会运行(数组将导出到电子表格),但我仍然会收到错误。
我最初使用的是setValue()
函数在 for 循环中,但代码会因为运行时间太长而超时。因此,我尝试将所有数据转储到二维数组中,然后将其一次性输入到电子表格中。
尝试将数组创建为空的二维数组
var outputArray = [[]]
并使用.push
将数据填充到其中
尝试使用以下函数创建空数组:
function create2DArray(rows) {
var arr = [];
for (var i=0;i<rows;i++) {
arr[i] = [];
}
return arr;
}
并按行添加数据(在按 rowNumber 迭代的 for 循环内部)
outputArray[rowNumber] = [data1, data2, data3,...]
使用上面相同的函数创建空数组并创建中间数组,然后将其放入输出数组中
outputArrayIntermediate[0] = data1;
outputArrayIntermediate[1] = data2;
outputArrayIntermediate[2] = data3;
outputArrayIntermediate[3] = data4;...
outputArray[rowNumber] = outputArrayIntermediate;
这是错误不断发生的地方
var setRows = outputArray.length;
var setColumns = outputArray[0].length
revenueSheet.getRange(2,1,setRows,setColumns).setValues(outputArray);
当我包含 setColumns 变量时,出现错误:
“数据中的列数与范围中的列数不匹配。数据为 0,但范围为 11。”
这仍会将数据填充到电子表格中。
当我不包含 setColumns 变量时,我收到错误:
“数据中的列数与范围中的列数不匹配。数据有 11,但范围有 1。”