刚刚发现我无法设置高度值低于单元格内文本高度的给定行的高度。
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)
- 高级谷歌服务
- 更新维度属性请求