google-apps-script - 这些列在 autoResizeColumns 方法中出现越界错误

标签 google-apps-script google-sheets google-sheets-api add-on

我有二维数组数据添加工作表。我有一个脚本可以在 Google 应用脚本中添加。我使用 setValue 方法在 Google 工作表中添加数据。我有长度为 784 的数据要添加到工作表中。之后,我尝试根据文本调整大小。当我当时有长度500的数据时,autoSizeColumns方法工作很好,但是当我有长度784的数据时当时它显示错误“这些列超出范围”。我不知道为什么会出现这个错误。该脚本在打印数据到工作表时工作正常,但在resizeColumns时出现错误。

用于添加数据到工作表中的代码。

  const lastRow = SpreadsheetApp.getActiveSheet().getLastRow();
  SpreadsheetApp.getActiveSheet().getRange(lastRow + 1, 1, arr.length, arr[0].length).setValues(arr);

  SpreadsheetApp.getActiveSheet().autoResizeColumns(1, arr.length);

有人可以指导我吗?

最佳答案

autoResizeColumns(startColumn, numColumns) 的参数为 startColumn, numColumnsRef在您的脚本中,您似乎按如下方式使用它。

SpreadsheetApp.getActiveSheet().autoResizeColumns(1, arr.length);

如果arr我有2D数组数据要添加到工作表中的二维数组数据数据长度为784 为行数,autoResizeColumns(startColumn, numColumns)startColumnnumColumns1784,分别。当事件工作表中的最大列数小于 784 时,会出现类似异常:这些列超出范围。 的错误。我认为这可能是您当前问题的原因 当我当时有长度为 500 的数据时 autoSizeColumns 方法工作正常,但当我当时有长度为 784 的数据时,它显示错误“那些列已超出”边界”。.

例如,如果你想避免错误,那么进行如下修改如何?在此修改中,最大列用作 numColumns

const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.getLastRow();
sheet.getRange(lastRow + 1, 1, arr.length, arr[0].length).setValues(arr);
sheet.autoResizeColumns(1, sheet.getMaxColumns());

或者,如果需要使用arr.length作为numColumns,那么进行以下修改如何?

const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.getLastRow();
sheet.getRange(lastRow + 1, 1, arr.length, arr[0].length).setValues(arr);
const maxColumn = sheet.getMaxColumns();
const arrLength = arr.length;
if (arrLength <= maxColumn) {
  sheet.autoResizeColumns(1, arrLength);
} else {
  sheet.insertColumnsAfter(maxColumn, arrLength - maxColumn).autoResizeColumns(1, arrLength);
}

引用:

关于google-apps-script - 这些列在 autoResizeColumns 方法中出现越界错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76453728/

相关文章:

excel - 删除www.来自 excel 中的域

excel - 将两个数据范围合并为一个范围(Google Drive Excel)

python - Google Sheets API :"Invalid JSON payload received. Unknown name "编号“位于 'data.values[0]' : Cannot find field

javascript - 我想在用户打开谷歌表单时引发一个事件?

google-apps-script - 获取谷歌脚本中所有选定的单元格

javascript - 如何将一列中的未知长度列表迭代到另一张工作表的列中

google-apps-script - 如何使用 Google-apps-script 获取工作表中的目标单元格行号

python - 用户身份验证如何在使用 Python 的 Google Sheets API 中进行?

google-apps-script - 使用谷歌应用程序脚本从电子表格数据中检索行

google-apps-script - 我可以创建 google 工作表标签并将标签的格式粘贴到它们吗?