(GAS)getRange與getDataRange差異
本文記錄一下在取得google spreadsheet 的資料時,經常會使用到兩個函式,getRange 與 getDataRange,下面來說明這兩個函式的差別。
getRange:傳回指定座標資料範圍
getRange(row, column)
僅傳遞兩個參數會傳回單一儲存格的「範圍」。
1 | var ss = SpreadsheetApp.getActiveSpreadsheet(); |
參數
名稱 | 類型 | 說明 |
---|---|---|
row | Integer | 列索引;列索引會從 1 開始。 |
column | Integer | 欄索引;欄索引會從 1 開始。 |
getRange(row, column, numRows)
當使用numRows
參數時,僅傳回指定行數的單欄資料範圍。
當使用numRows
參數時,傳回從指定列(row
)、欄(column
)的儲存格開始,往下取得指定行數(numRows
)的資料範圍。
1 |
|
參數
名稱 | 類型 | 說明 |
---|---|---|
row | Integer | 範圍的起始列索引;列索引會從 1 開始。 |
column | Integer | 範圍的欄索引;欄索引會從 1 開始。 |
numRows | Integer | 要傳回的列數。 |
getRange(row, column, numRows, numColumns)
1 | var ss = SpreadsheetApp.getActiveSpreadsheet(); |
參數
名稱 | 類型 | 說明 |
---|---|---|
row | Integer | 範圍的起始列索引;列索引會從 1 開始。 |
column | Integer | 範圍的欄索引;欄索引會從 1 開始。 |
numRows | Integer | 要傳回的列數。 |
numColumns | Integer | 要傳回的欄數。 |
getRange(a1Notation)
傳回A1標記或R1C1標記法中指定的範圍
1 | // 在名為"Invoices"的sheet取得範圍A1:D4 |
參數
名稱 | 類型 | 說明 |
---|---|---|
aiNotation | String | 要傳回的範圍,如 A1 標記法或 R1C1 標記法中的指定。 |
getDataRange:傳回與顯示資料的維度相對應的範圍
在不知道分頁的列數及欄數,但想抓出整個分頁的資料,可用此函數。
getDataRange會回傳此 sheet 所有有資料的範圍(A1到此sheet最後一列最後一欄),等同於getRange(1, 1, sheet.getLastRow(), sheet.getLastColumn())
1 | var ss = SpreadsheetApp.getActiveSpreadsheet(); |