【发布时间】:2020-06-28 13:41:05
【问题描述】:
您好,我正在努力解决我正在尝试做的事情的语法和功能。我循环了一个值列表并运行了一个耗时超过 5 分钟的数据库操作,因此我跟踪列表中的哪些值被插入到 B 列中。但是脚本第一次运行时没有 B 列,这似乎混淆了最后一个写回数组时的语句。
所以我认为问题在于创建一维数组,然后添加一列,然后尝试将其写回为两列数组。
我取出数据库代码只显示问题代码。
const LISTRANGE=LISTSHEET.getDataRange(); //get all the values just column A is populated
var LISTARRAY=LISTRANGE.getValues(); // push them into an array
for (var i = 0; i < NEXTRUN ; i++) { // loop the array
LISTARRAY[NEXTRUN][1] = "INSERTED"
}
LISTSHEET.getRange(1,1,LISTARRAY.length,2).setValues(LISTARRAY);
这段代码以结果结尾
异常:数据中的列数与范围内的列数不匹配。数据有 1,但范围有 2。(第 76 行,文件“宏”)
我想也许我只需要选择 1 列,因为数组开始是一维的,但是它给出了这个错误
LISTSHEET.getRange(1,1,LISTARRAY.length,1).setValues(LISTARRAY);
异常:数据中的列数与范围内的列数不匹配。数据有 2,但范围有 1。(第 76 行,文件“宏”)
您能帮我制定一个修改此代码以避免错误的策略吗?我不介意另一种方法,我只是试图将处理保留在缓存中,因此我不会在每次循环迭代时写入工作表。
【问题讨论】:
-
NEXTRUN 未定义
标签: google-apps-script google-sheets