存取及修改現有資料來源表。如要在新工作表中建立新的資料來源資料表,請使用 Spreadsheet.insertSheetWithDataSourceTable(spec)
。
請勿將這個類別與 BigQuery 資料來源搭配使用。
本範例說明如何建立新的資料來源資料表。
SpreadsheetApp .enableBigQueryExecution(); const spreadsheet = SpreadsheetApp.getActive(); const spec = SpreadsheetApp.newDataSourceSpec() .asBigQuery() .setProjectId('big_query_project') .setRawQuery('select @FIELD from table limit @LIMIT') .setParameterFromCell('FIELD', 'Sheet1!A1') .setParameterFromCell('LIMIT', 'namedRangeCell') .build(); // Starts data execution asynchronously. const dataSheet = spreadsheet.insertSheetWithDataSourceTable(spec); const dataSourceTable = dataSheet.getDataSourceTables()[0]; // waitForCompletion() blocks script execution until data execution completes. dataSourceTable.waitForCompletion(60); // Check status after execution. Logger.log( 'Data execution state: %s.', dataSourceTable.getStatus().getExecutionState(), );
本範例說明如何編輯資料來源。
SpreadsheetApp .enableBigQueryExecution(); const dataSheet = SpreadsheetApp.getActive().getSheetByName('Data Sheet 1'); const dataSourceTable = dataSheet.getDataSourceTables()[0]; const dataSource = dataSourceTable.getDataSource(); const newSpec = dataSource.getSpec() .copy() .asBigQuery() .setRawQuery('select name from table limit 2') .removeAllParameters() .build(); // Updates data source specification and starts data execution asynchronously. dataSource.updateSpec(newSpec); // Check status during execution. Logger.log( 'Data execution state: %s.', dataSourceTable.getStatus().getExecutionState(), ); // waitForCompletion() blocks script execution until data execution completes. dataSourceTable.waitForCompletion(60); // Check status after execution. Logger.log( 'Data execution state: %s.', dataSourceTable.getStatus().getExecutionState(), );
方法
內容詳盡的說明文件
add Columns(columnNames)
在資料來源表格中新增資料欄。
參數
名稱 | 類型 | 說明 |
---|---|---|
column | String[] | 要新增的資料欄名稱清單。 |
回攻員
Data
:資料來源資料表,用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
add Filter(columnName, filterCriteria)
新增套用至資料來源資料表的篩選器。
參數
名稱 | 類型 | 說明 |
---|---|---|
column | String | 要套用這個篩選器的資料欄名稱。 |
filter | Filter | 要套用的篩選條件。 |
回攻員
Data
:資料來源資料表,用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
add Sort Spec(columnName, ascending)
在資料來源表格中的資料欄上新增排序規格。
參數
名稱 | 類型 | 說明 |
---|---|---|
column | String | 要排序的資料欄名稱。 |
ascending | Boolean | 如果是 true ,則以遞增順序排序資料欄;如果是 false ,則以遞減順序排序資料欄。 |
回攻員
Data
:資料來源工作表,用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
add Sort Spec(columnName, sortOrder)
在資料來源表格中的資料欄上新增排序規格。
參數
名稱 | 類型 | 說明 |
---|---|---|
column | String | 要排序的資料欄名稱。 |
sort | Sort | 排序順序。 |
回攻員
Data
:資料來源工作表,用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
cancel Data Refresh()
如果目前正在執行,則會取消與此物件相關聯的資料重新整理作業。
以下範例說明如何取消公式重新整理作業。
const spreadsheet = SpreadsheetApp.getActive(); const formula = spreadsheet.getDataSourceFormulas()[0]; // Cancel the ongoing refresh on the formula. formula.cancelDataRefresh();
如果未啟用資料來源類型,系統會擲回例外狀況。使用 Spreadsheet
方法,為特定資料來源類型啟用資料執行程序。
回攻員
Data
:資料物件。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
force Refresh Data()
無論目前狀態為何,都會重新整理此物件的資料。詳情請參閱 refresh
。如要取消目前正在執行的此物件重新整理作業,請參閱 cancel
。
如果未啟用資料來源類型,系統會擲回例外狀況。使用 Spreadsheet
方法,為特定資料來源類型啟用資料執行程序。
回攻員
Data
:資料物件。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
get Columns()
取得新增至資料來源表格的所有資料來源欄。
回攻員
Data
:資料來源資料表欄的清單。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
get Data Source()
取得物件連結的資料來源。
回攻員
Data
:資料來源。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
get Filters()
傳回套用至資料來源資料表的所有篩選器。
回攻員
Data
:已套用至資料來源表格的所有篩選器陣列。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
get Range()
get Row Limit()
傳回資料來源表的列數上限。
回攻員
Integer
:資料來源資料表的列上限,如果未設定上限,且資料表使用 Google 試算表 UI 中的預設上限,則為 null
。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
get Sort Specs()
取得資料來源資料表中的所有排序規格。
回攻員
Sort
:排序規格清單。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
get Status()
取得物件的資料執行狀態。
回攻員
Data
:資料執行狀態。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
is Syncing All Columns()
傳回資料來源表是否同步處理關聯資料來源中的所有欄。
回攻員
Boolean
:如果資料來源資料表會同步處理相關聯資料來源中的所有資料欄,則為 True
;否則為 false
。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
refresh Data()
重新整理物件的資料。
如果目前處於 error
狀態,就會擲回例外狀況。使用 Data
更新規格。建議使用此方法,而非 force
,以免資料來源發生意外編輯。
如果未啟用資料來源類型,系統會擲回例外狀況。使用 Spreadsheet
方法,為特定資料來源類型啟用資料執行程序。
回攻員
Data
:資料物件。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
remove All Columns()
移除資料來源資料表中的所有欄。
回攻員
Data
:資料來源資料表,用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
remove All Sort Specs()
移除資料來源資料表中的所有排序規格。
回攻員
Data
:資料來源工作表,用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
set Row Limit(rowLimit)
更新資料來源表的列數上限。如果提供的行數上限為 null
,則更新資料來源資料表,以便使用 Google 試算表 UI 中的預設最大行數上限。
參數
名稱 | 類型 | 說明 |
---|---|---|
row | Integer | 資料表的新資料列上限。如果為 null ,則會更新資料表,以便使用預設的資料列限制。 |
回攻員
Data
:資料來源資料表,用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
sync All Columns()
將關聯資料來源中的所有現有和日後的資料欄同步至資料來源資料表。
回攻員
Data
:資料來源資料表,用於鏈結。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
wait For Completion(timeoutInSeconds)
等待目前執行作業完成,並在指定秒數後逾時。如果在逾時時未完成執行作業,則會擲回例外狀況,但不會取消資料執行作業。
參數
名稱 | 類型 | 說明 |
---|---|---|
timeout | Integer | 等待資料執行作業的時間 (以秒為單位)。上限為 300 秒。 |
回攻員
Data
:資料執行狀態。
授權
使用這個方法的腳本需要具備下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets