You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Apps Script中autoResizeColumns报列越界错误求助

问题分析

你调用autoResizeColumns时参数传错了:这个方法的第二个参数是需要调整的列的数量,而你传了arr.length(二维数组的行数)。

当数据行数(500)≤表格现有列数时,碰巧没触发越界错误;但行数784超过表格实际列数时,就会抛出“列越界”的报错——因为你试图调整从第1列开始的784列,但表格根本没有这么多列。

修复代码

把autoResizeColumns的第二个参数改成二维数组的列数arr[0].length即可:

const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.getLastRow();
// 写入数据
sheet.getRange(lastRow + 1, 1, arr.length, arr[0].length).setValues(arr);
// 正确调整列宽:从第1列开始,调整arr[0].length列
sheet.autoResizeColumns(1, arr[0].length);
额外优化建议
  • 提前把SpreadsheetApp.getActiveSheet()赋值给变量,避免重复调用,提升脚本性能。
  • 如果担心二维数组为空(arr[0]不存在),可以加个判断:
if (arr.length > 0 && arr[0].length > 0) {
  sheet.autoResizeColumns(1, arr[0].length);
}

内容的提问来源于stack exchange,提问作者Shiv Yadav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 11:17:16