เข้าถึงและแก้ไขตารางแหล่งข้อมูลที่มีอยู่ หากต้องการสร้างตารางแหล่งข้อมูลใหม่ในชีตใหม่
ให้ใช้ 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 | Data | เพิ่มคอลัมน์ลงในตารางแหล่งข้อมูล |
add | Data | เพิ่มตัวกรองที่ใช้กับตารางแหล่งข้อมูล |
add | Data | เพิ่มข้อกำหนดการจัดเรียงในคอลัมน์ในตารางแหล่งข้อมูล |
add | Data | เพิ่มข้อกำหนดการจัดเรียงในคอลัมน์ในตารางแหล่งข้อมูล |
cancel | Data | ยกเลิกการรีเฟรชข้อมูลที่เชื่อมโยงกับออบเจ็กต์นี้หากกำลังทำงานอยู่ |
force | Data | รีเฟรชข้อมูลของออบเจ็กต์นี้โดยไม่คำนึงถึงสถานะปัจจุบัน |
get | Data | รับคอลัมน์แหล่งข้อมูลทั้งหมดที่เพิ่มลงในตารางแหล่งข้อมูล |
get | Data | รับแหล่งข้อมูลที่ออบเจ็กต์ลิงก์อยู่ |
get | Data | แสดงตัวกรองทั้งหมดที่ใช้กับตารางแหล่งข้อมูล |
get | Range | รับRangeตารางแหล่งข้อมูลนี้ครอบคลุม |
get | Integer|null | แสดงผลขีดจํากัดแถวสําหรับตารางแหล่งข้อมูล |
get | Sort | รับข้อกำหนดการจัดเรียงทั้งหมดในตารางแหล่งข้อมูล |
get | Data | รับสถานะการดำเนินการข้อมูลของออบเจ็กต์ |
is | Boolean | แสดงว่าตารางแหล่งข้อมูลกำลังซิงค์คอลัมน์ทั้งหมดในแหล่งข้อมูลที่เชื่อมโยงอยู่หรือไม่ |
refresh | Data | รีเฟรชข้อมูลของออบเจ็กต์ |
remove | Data | นำคอลัมน์ทั้งหมดในตารางแหล่งข้อมูลออก |
remove | Data | นำข้อกำหนดการจัดเรียงทั้งหมดในตารางแหล่งข้อมูลออก |
set | Data | อัปเดตขีดจํากัดแถวสําหรับตารางแหล่งข้อมูล |
sync | Data | ซิงค์คอลัมน์ทั้งหมดในปัจจุบันและอนาคตในแหล่งข้อมูลที่เชื่อมโยงกับตารางแหล่งข้อมูล |
wait | Data | รอจนกว่าการดำเนินการปัจจุบันจะเสร็จสมบูรณ์ โดยจะหมดเวลาหลังจากผ่านไปตามจำนวนวินาทีที่ระบุ |
เอกสารโดยละเอียด
addColumns(columnNames)
เพิ่มคอลัมน์ลงในตารางแหล่งข้อมูล
พารามิเตอร์
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
column | String[] | รายการชื่อคอลัมน์ที่จะเพิ่ม |
รีเทิร์น
DataSourceTable - ตารางแหล่งข้อมูลสำหรับการเชื่อมโยง
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
addFilter(columnName, filterCriteria)
เพิ่มตัวกรองที่ใช้กับตารางแหล่งข้อมูล
พารามิเตอร์
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
column | String | ชื่อของคอลัมน์ที่จะใช้ตัวกรองนี้ |
filter | Filter | เกณฑ์การกรองที่จะใช้ |
รีเทิร์น
DataSourceTable - ตารางแหล่งข้อมูลสำหรับการเชื่อมโยง
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
addSortSpec(columnName, ascending)
เพิ่มข้อกำหนดการจัดเรียงในคอลัมน์ในตารางแหล่งข้อมูล
พารามิเตอร์
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
column | String | ชื่อคอลัมน์ที่จะจัดเรียง |
ascending | Boolean | หากเป็น true ให้จัดเรียงคอลัมน์จากน้อยไปมาก หากเป็น false ให้จัดเรียงคอลัมน์จากมากไปน้อย |
รีเทิร์น
DataSourceTable - ชีตแหล่งข้อมูลสำหรับการเชื่อมโยง
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
addSortSpec(columnName, sortOrder)
เพิ่มข้อกำหนดการจัดเรียงในคอลัมน์ในตารางแหล่งข้อมูล
พารามิเตอร์
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
column | String | ชื่อคอลัมน์ที่จะจัดเรียง |
sort | Sort | ลำดับการจัดเรียง |
รีเทิร์น
DataSourceTable - ชีตแหล่งข้อมูลสำหรับการเชื่อมโยง
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
cancelDataRefresh()
ยกเลิกการรีเฟรชข้อมูลที่เชื่อมโยงกับออบเจ็กต์นี้หากกำลังทำงานอยู่
ตัวอย่างนี้แสดงวิธียกเลิกการรีเฟรชสูตร
const spreadsheet = SpreadsheetApp.getActive(); const formula = spreadsheet.getDataSourceFormulas()[0]; // Cancel the ongoing refresh on the formula. formula.cancelDataRefresh();
แสดงข้อยกเว้นหากไม่ได้เปิดใช้ประเภทแหล่งข้อมูล ใช้วิธีการ SpreadsheetApp#enable...Execution() เพื่อเปิดใช้การเรียกใช้ข้อมูลสำหรับแหล่งข้อมูลประเภทใดประเภทหนึ่ง
รีเทิร์น
DataSourceTable — ออบเจ็กต์ข้อมูล
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
forceRefreshData()
รีเฟรชข้อมูลของออบเจ็กต์นี้โดยไม่คำนึงถึงสถานะปัจจุบัน ดูรายละเอียดเพิ่มเติมได้ที่ refreshData() หากต้องการยกเลิกการรีเฟรชออบเจ็กต์นี้ที่กำลังดำเนินการอยู่ โปรดดูcancelDataRefresh()
แสดงข้อยกเว้นหากไม่ได้เปิดใช้ประเภทแหล่งข้อมูล ใช้วิธีการ SpreadsheetApp#enable...Execution() เพื่อเปิดใช้การเรียกใช้ข้อมูลสำหรับแหล่งข้อมูลประเภทใดประเภทหนึ่ง
รีเทิร์น
DataSourceTable — ออบเจ็กต์ข้อมูล
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
getColumns()
รับคอลัมน์แหล่งข้อมูลทั้งหมดที่เพิ่มลงในตารางแหล่งข้อมูล
รีเทิร์น
DataSourceTableColumn[] — รายการคอลัมน์ตารางแหล่งข้อมูล
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
getDataSource()
รับแหล่งข้อมูลที่ออบเจ็กต์ลิงก์อยู่
รีเทิร์น
DataSource — แหล่งข้อมูล
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
getFilters()
แสดงตัวกรองทั้งหมดที่ใช้กับตารางแหล่งข้อมูล
รีเทิร์น
DataSourceTableFilter[] — อาร์เรย์ของตัวกรองทั้งหมดที่ใช้กับตารางแหล่งข้อมูล
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
getRange()
getRowLimit()
แสดงผลขีดจํากัดแถวสําหรับตารางแหล่งข้อมูล
รีเทิร์น
Integer|null — ขีดจํากัดแถวสําหรับตารางแหล่งข้อมูล หรือ null หากไม่ได้ตั้งค่าขีดจํากัดและ
ตารางใช้ขีดจํากัดสูงสุดเริ่มต้นตามที่อยู่ใน UI ของ Google ชีต
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
getSortSpecs()
รับข้อกำหนดการจัดเรียงทั้งหมดในตารางแหล่งข้อมูล
รีเทิร์น
SortSpec[] — รายการข้อกำหนดการจัดเรียง
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
getStatus()
รับสถานะการดำเนินการข้อมูลของออบเจ็กต์
รีเทิร์น
DataExecutionStatus — สถานะการเรียกใช้ข้อมูล
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
isSyncingAllColumns()
แสดงว่าตารางแหล่งข้อมูลกำลังซิงค์คอลัมน์ทั้งหมดในแหล่งข้อมูลที่เชื่อมโยงอยู่หรือไม่
รีเทิร์น
Boolean — True หากตารางแหล่งข้อมูลกำลังซิงค์คอลัมน์ทั้งหมดในแหล่งข้อมูลที่เชื่อมโยง
หรือ false ในกรณีอื่นๆ
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
refreshData()
รีเฟรชข้อมูลของออบเจ็กต์
แสดงข้อยกเว้นหากอยู่ในสถานะ error ใช้ DataSource#updateSpec() เพื่ออัปเดตข้อกำหนด วิธีนี้forceRefreshData()ดีกว่าforceRefreshData()เพื่อป้องกันการแก้ไขแหล่งข้อมูลโดยไม่คาดคิด
แสดงข้อยกเว้นหากไม่ได้เปิดใช้ประเภทแหล่งข้อมูล ใช้วิธีการ SpreadsheetApp#enable...Execution() เพื่อเปิดใช้การเรียกใช้ข้อมูลสำหรับแหล่งข้อมูลประเภทใดประเภทหนึ่ง
รีเทิร์น
DataSourceTable — ออบเจ็กต์ข้อมูล
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
removeAllColumns()
นำคอลัมน์ทั้งหมดในตารางแหล่งข้อมูลออก
รีเทิร์น
DataSourceTable - ตารางแหล่งข้อมูลสำหรับการเชื่อมโยง
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
removeAllSortSpecs()
นำข้อกำหนดการจัดเรียงทั้งหมดในตารางแหล่งข้อมูลออก
รีเทิร์น
DataSourceTable - ชีตแหล่งข้อมูลสำหรับการเชื่อมโยง
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
setRowLimit(rowLimit)
อัปเดตขีดจํากัดแถวสําหรับตารางแหล่งข้อมูล หากขีดจํากัดแถวที่ระบุคือ null
จากนั้นจะอัปเดตตารางแหล่งข้อมูลให้ใช้ขีดจํากัดแถวสูงสุดเริ่มต้นตามที่อยู่ใน UI ของ Google ชีต
พารามิเตอร์
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
row | Integer | ขีดจํากัดแถวใหม่สําหรับตารางข้อมูล หาก null จะอัปเดตตารางให้ใช้
ขีดจำกัดแถวเริ่มต้น |
รีเทิร์น
DataSourceTable - ตารางแหล่งข้อมูลสำหรับการเชื่อมโยง
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
syncAllColumns()
ซิงค์คอลัมน์ทั้งหมดในปัจจุบันและอนาคตในแหล่งข้อมูลที่เชื่อมโยงกับตารางแหล่งข้อมูล
รีเทิร์น
DataSourceTable - ตารางแหล่งข้อมูลสำหรับการเชื่อมโยง
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets
waitForCompletion(timeoutInSeconds)
รอจนกว่าการดำเนินการปัจจุบันจะเสร็จสมบูรณ์ โดยจะหมดเวลาหลังจากผ่านไปตามจำนวนวินาทีที่ระบุ โยนข้อยกเว้นหากการดำเนินการไม่เสร็จสมบูรณ์เมื่อหมดเวลา แต่จะไม่ยกเลิกการดำเนินการข้อมูล
พารามิเตอร์
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
timeout | Integer | เวลาที่รอการดำเนินการข้อมูลเป็นวินาที สูงสุดคือ 300 วินาที |
รีเทิร์น
DataExecutionStatus — สถานะการเรียกใช้ข้อมูล
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มีขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly -
https://www.googleapis.com/auth/spreadsheets