Google apps script 例外:数据中的列数与范围中的列数不匹配,尽管范围是从数据创建的
我正试图找出我在这个谷歌脚本中遗漏了什么。我一直在犯错误 例外:数据中的列数与范围中的列数不匹配。数据为0,但范围为15 但这对我来说毫无意义 下面是一些有问题的代码:Google apps script 例外:数据中的列数与范围中的列数不匹配,尽管范围是从数据创建的,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正试图找出我在这个谷歌脚本中遗漏了什么。我一直在犯错误 例外:数据中的列数与范围中的列数不匹配。数据为0,但范围为15 但这对我来说毫无意义 下面是一些有问题的代码: var range = ReleaseSchedule.getRange(1,1,output_data_sheet.length,output_data_sheet[0].length); range.setValues(output_data_sheet); ReleaseSchedule是活动电子表格输出中的新工作表\u
var range = ReleaseSchedule.getRange(1,1,output_data_sheet.length,output_data_sheet[0].length);
range.setValues(output_data_sheet);
ReleaseSchedule是活动电子表格输出中的新工作表\u数据\u工作表是二维数组。我之前在脚本中也有类似的代码,但由于某种原因,这个代码会引发异常,我不知道为什么。任何帮助或想法都将不胜感激。我认为此错误的原因是
异常:数据中的列数与范围中的列数不匹配。数据为0,但范围为15。
可能如下所示
输出数据表是二维数组
输出数据表的第一个索引的数组长度为
15
- 除第一个索引外,索引中包括空数组(数组长度为
)0
输出数据表
用于setValues()
时,可能会发生此类错误。为了消除此问题,如何进行以下修改?在这里,我想提出两种模式
模式1:
在此模式中,空元素将从输出数据表中删除
发件人:
致:
致:
output_data_sheet=output_data_sheet.map(r=>r.length==15?r:r.concat(数组(15-r.length).fill(“”));//我为你的情况提出了2个修改脚本。但我不确定你的整个剧本。所以,如果我对你情况的猜测不正确,我道歉。届时,您能否提供复制您的问题的整个脚本?通过这一点,我想确认一下。您确定输出数据表数据具有相同的列数,甚至是第一行吗?最好使用调试器Logger.log(output\u data\u sheet.length,output\u data\u sheet[0].length)
来检查这些值是否与您期望的值一致。您能否提供与检索output\u data\u sheet
相关的脚本?
var range = ReleaseSchedule.getRange(1,1,output_data_sheet.length,output_data_sheet[0].length);
range.setValues(output_data_sheet);
output_data_sheet = output_data_sheet.filter(String); // <--- Added
var range = ReleaseSchedule.getRange(1,1,output_data_sheet.length,output_data_sheet[0].length);
range.setValues(output_data_sheet);
var range = ReleaseSchedule.getRange(1,1,output_data_sheet.length,output_data_sheet[0].length);
range.setValues(output_data_sheet);
output_data_sheet = output_data_sheet.map(r => r.length == 15 ? r : r.concat(Array(15 - r.length).fill(""))); // <--- Added
var range = ReleaseSchedule.getRange(1,1,output_data_sheet.length,output_data_sheet[0].length);
range.setValues(output_data_sheet);