Google 应用程序脚本:autoResizeColumn 工作不正常,未按预期工作

Google apps script: autoResizeColumn works incorrectly not works as expected

我正在尝试使用以下代码通过 google 应用脚本将第 1 列调整为第 10 列。

sheet = SpreadsheetApp.getActive().getSheetByName("Sheet1");
sheet.autoResizeColumns(1, 10);

列的大小已调整,但与预期不符。

我期待这样 但实际上我得到了这个

很遗憾,ClassSheet中"autoResizeColumns"的方法好像还有问题。那么这个解决方法怎么样?当我尝试使用 Sheets API 自动调整大小时,我注意到电子表格服务 (SpreadsheetApp) 和 Sheets API 的结果不同。通过使用这个,我使用 Sheets API 中 "AutoResizeDimensionsRequest" 的方法作为当前的解决方法。

当您使用Sheets API时,请在高级Google服务中启用Sheets API和API 控制台。您可以在 .

查看如何启用 Sheets API

示例脚本:

当你的脚本中的sheet.autoResizeColumns(1, 10)转换为使用Sheet的脚本API后,就变成了下面这样

var ss = SpreadsheetApp.getActiveSpreadsheet();
var resource = {"requests": [{"autoResizeDimensions": {"dimensions": {
  "dimension": "COLUMNS",
  "sheetId": ss.getSheetByName("Sheet1").getSheetId(),
  "startIndex": 0,
  "endIndex": 10,
}}}]};
Sheets.Spreadsheets.batchUpdate(resource, ss.getId());

注:

  • 在我的环境中,这个解决方法似乎可以避免电子表格服务的问题。但如果这不是你想要的结果,我深表歉意。

参考: