SpreadsheetApp.setValues参数不匹配报错排查(多表格导出场景)
问题解决:Google Apps Script setValues 参数不匹配报错
核心原因
你碰到的报错是因为setValues()方法必须接收二维数组,哪怕只更新一行数据也得是[[值1, 值2, ..., 值n]]的嵌套结构。你现在传的是一维数组[A,B,C,D,E,F,G,H,I],参数格式不匹配,所以触发了异常。
快速修复
把报错那行代码里的Data改成[Data]即可:
search.offset(0, 1, 1 , Data.length).setValues([Data]);
补充说明
你新增工单逻辑正常,大概率是用了appendRow()方法——这个方法支持直接传入一维数组,和setValues()的要求不一样,这也是新增没问题、更新出问题的核心差异点。
额外优化建议(可选)
如果想减少API调用次数提升脚本效率,可以一次性批量获取源表格的单元格值,比如:
// 假设目标值都在同一行的连续单元格中(比如B3到J3) var sourceRange = ss_c.getRange('B3:J3'); var Data = sourceRange.getValues()[0]; // getValues返回二维数组,取索引0得到对应一维行数据
之后再用[Data]传入setValues()即可,这样比多次调用getValue()更高效。
内容的提问来源于stack exchange,提问作者Bruno Carvalho
相关产品推荐
相关产品推荐

