如何在Google Apps Script中获取Google Sheet的最大行数(含特定列)?
在Google Apps Script中获取工作表及特定列的最大行数
一、获取整个工作表的最大行数
这里分两种实用场景:
- 工作表配置的总行数(包含所有空行,是当前工作表允许的最大行数上限):使用
getMaxRows()方法
示例代码:function getSheetTotalRows() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheetByName("你的工作表名称"); const totalRows = sheet.getMaxRows(); console.log("工作表配置总行数:" + totalRows); } - 有数据的最后一行行号(实际存储内容的最大行数):使用
getDataRange().getLastRow()方法
示例代码:function getSheetLastDataRow() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheetByName("你的工作表名称"); const lastDataRow = sheet.getDataRange().getLastRow(); console.log("有数据的最大行数:" + lastDataRow); }
二、获取特定列的最大行数
如果要单独获取某一列中有数据的最后一行行号,常用两种写法:
- 通过列索引指定列(推荐,避免列字母与索引转换的麻烦)
示例代码(以第3列,即C列为例):function getColumnLastRowByIndex() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheetByName("你的工作表名称"); const targetColumnIndex = 3; // C列的索引是3 // 获取该列的完整范围,再提取最后有数据的行号 const lastRow = sheet.getRange(1, targetColumnIndex, sheet.getMaxRows(), 1).getLastRow(); console.log("C列有数据的最大行数:" + lastRow); } - 通过列字母指定列
示例代码(以B列为例):function getColumnLastRowByLetter() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheetByName("你的工作表名称"); const targetColumnLetter = "B"; const lastRow = sheet.getRange(targetColumnLetter + ":" + targetColumnLetter).getLastRow(); console.log("B列有数据的最大行数:" + lastRow); }
注意:如果目标列完全为空,
getLastRow()会返回1(因为默认从第一行开始检查)。如果需要区分空列和有数据的列,可以额外添加判断逻辑验证该列是否存在内容。
内容的提问来源于stack exchange,提问作者Agnieszka Liszka
相关产品推荐
相关产品推荐

