【发布时间】:2020-12-17 17:03:49
【问题描述】:
背景:
根据documentation on Class Range,有两种不同的方法来获取给定范围内的行数:
getNumRows()返回此范围内的行数。
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var range = sheet.getRange("B2:D5"); Logger.log(range.getNumRows());返回
Integer— 此范围内的行数。
和
getHeight()返回范围的高度。
var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var range = sheet.getRange("B2:D4"); // logs 3.0 Logger.log(range.getHeight());返回
Integer— 范围的高度。
测试:
现在,测试以下代码 sn-p:
function diffTest() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dr = ss.getDataRange();
var h = dr.getHeight();
var nr = dr.getNumRows();
console.log(h);
console.log(nr);
}
两种方法都将输出相同的结果 - 无论是通过编程获得的范围还是命名范围:
Dec 9, 2020, 11:18:08 AM Debug 26
Dec 9, 2020, 11:18:08 AM Debug 26
我已经排除的事情:
- 如果在 UI 中手动更改,单元格的字面高度不会影响这一点
- 单元格中的换行数也不会改变这个高度
问题:
Range.getHeight() 和 Range.getNumRows() 方法之间有什么区别(如果有)?
【问题讨论】:
-
我认为没有。
-
我也是这么想的,但曾几何时,我对
getActiveCell()和getCurrentCell()也是这么想的,所以我想我还是把问题放在那里。
标签: google-apps-script google-sheets