谷歌表格/应用程序脚本 - 设置行高,单元格内有文本



刚刚发现我无法设置高度值低于单元格内文本高度的给定行的高度。

sheet.setRowHeight(1, 5) 如果单元格为空,则正常工作,但如果文本(例如字体大小 8)在里面,则不起作用。单元格似乎已调整为文本高度。

是否可以覆盖它(特别是因为似乎在文本的顶部和底部应用了填充)?

我相信你的目标如下。

  • 您希望通过使用 Google Apps 脚本忽略字体大小来设置行高。

问题和解决方法:

不幸的是,在当前阶段,当使用电子表格服务的setRowHeight时,似乎最小行高取决于字体大小。因此,在这种情况下,作为解决方法,我想建议使用Sheets API。在此解决方法中,UpdateDimensionPropertiesRequest使用了工作表 API 中的"电子表格.批处理更新"方法。

示例脚本:

在使用此脚本之前,请在高级 Google 服务中启用表格 API。

function myFunction() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName("Sheet1");  // Please set the sheet name.
const requests = {updateDimensionProperties: {
properties: {pixelSize: 5},
range: {sheetId: sheet.getSheetId(), startIndex: 1, endIndex: 2, dimension: "ROWS"},
fields: "pixelSize"
}};
Sheets.Spreadsheets.batchUpdate({requests: requests}, ss.getId());
}
  • 在此示例脚本中,第 2 行的行高更改为 5 像素。在这种情况下,行高不取决于字体大小。

引用:

  • setRowHeight(rowPosition, height)
  • 高级谷歌服务
  • 更新维度属性请求

最新更新