Google Sheets中Row ID是什么?如何用App Script获取?
Google Sheets中的Row ID及App Script获取方案
什么是Row ID
Row ID是Google Tables(原Area 120 Tables)为每行数据分配的唯一、不可修改的标识符,用于在Tables与同步的Google Sheets间维持稳定的行映射——即便行在Sheets中被移动、排序,Row ID也不会变更,保障数据关联的准确性。普通Google Sheets本身没有原生内置的Row ID,仅当Sheets与Tables关联同步时才会存在该字段。
用App Script获取Row ID的两种方法
1. 从同步Sheets列读取
若你的Sheets已和Tables同步,Row ID会被自动同步到Sheets的指定列(通常为固定列),可直接通过Sheets服务读取:
function getRowIdsFromSheet() { const targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("你的工作表名称"); // 假设Row ID位于A列(第1列),从第2行开始为数据行 const rowIdRange = targetSheet.getRange(2, 1, targetSheet.getLastRow() - 1, 1); const rowIds = rowIdRange.getValues().flat(); // 输出每行的Row ID rowIds.forEach((id, index) => { console.log(`第${index + 2}行的Row ID: ${id}`); }); }
2. 通过Google Tables API查询
若需直接从Tables获取Row ID(不依赖Sheets同步列),可启用Google Tables的App Script服务来查询:
- 步骤1:在App Script编辑器中,点击「资源」>「高级Google服务」,找到并启用「Google Tables API」。
- 步骤2:使用以下代码获取Row ID:
function getRowIdsFromTables() { const targetTableId = "你的Table ID"; // 可从Tables页面URL中提取 const tableRows = Tables.Tables.Rows.list(targetTableId).rows || []; tableRows.forEach(row => { console.log(`Row ID: ${row.rowId}, 对应行数据: ${JSON.stringify(row.values)}`); }); }
注意:使用该方法需确保你的账号拥有目标Table的访问权限。
内容的提问来源于stack exchange,提问作者nonomg
相关产品推荐
相关产品推荐

