เข้าถึงและแก้ไขตารางแหล่งข้อมูลที่มีอยู่ หากต้องการสร้างตารางแหล่งข้อมูลใหม่ในชีตใหม่ ให้ใช้ Spreadsheet.insertSheetWithDataSourceTable(spec)
ใช้คลาสนี้กับข้อมูลที่เชื่อมต่อกับฐานข้อมูลเท่านั้น
ตัวอย่างนี้แสดงวิธีสร้างตารางแหล่งข้อมูลใหม่
SpreadsheetApp.enableBigQueryExecution(); var spreadsheet = SpreadsheetApp.getActive(); var 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. var dataSheet = spreadsheet.insertSheetWithDataSourceTable(spec); var 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(); var dataSheet = SpreadsheetApp.getActive().getSheetByName("Data Sheet 1"); var dataSourceTable = dataSheet.getDataSourceTables()[0]; var dataSource = dataSourceTable.getDataSource(); var 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());
วิธีการ
วิธีการ | ประเภทการแสดงผล | รายละเอียดแบบย่อ |
---|---|---|
addColumns(columnNames) | DataSourceTable | เพิ่มคอลัมน์ลงในตารางแหล่งข้อมูล |
addFilter(columnName, filterCriteria) | DataSourceTable | เพิ่มตัวกรองที่ใช้กับตารางแหล่งข้อมูล |
addSortSpec(columnName, ascending) | DataSourceTable | เพิ่มข้อกำหนดในการจัดเรียงในคอลัมน์ในตารางแหล่งข้อมูล |
addSortSpec(columnName, sortOrder) | DataSourceTable | เพิ่มข้อกำหนดในการจัดเรียงในคอลัมน์ในตารางแหล่งข้อมูล |
cancelDataRefresh() | DataSourceTable | ยกเลิกการรีเฟรชข้อมูลที่เชื่อมโยงกับออบเจ็กต์นี้หากยังทำงานอยู่ |
forceRefreshData() | DataSourceTable | รีเฟรชข้อมูลของออบเจ็กต์นี้โดยไม่คำนึงถึงสถานะปัจจุบันของ |
getColumns() | DataSourceTableColumn[] | รับคอลัมน์แหล่งข้อมูลทั้งหมดที่เพิ่มลงในตารางแหล่งข้อมูล |
getDataSource() | DataSource | รับแหล่งข้อมูลที่ออบเจ็กต์ลิงก์อยู่ |
getFilters() | DataSourceTableFilter[] | แสดงผลตัวกรองทั้งหมดที่ใช้กับตารางแหล่งข้อมูล |
getRange() | Range | รับ Range ตารางแหล่งข้อมูลนี้ครอบคลุม |
getRowLimit() | Integer | แสดงผลขีดจำกัดแถวของตารางแหล่งข้อมูล |
getSortSpecs() | SortSpec[] | รับข้อกำหนดในการจัดเรียงทั้งหมดในตารางแหล่งข้อมูล |
getStatus() | DataExecutionStatus | รับสถานะการเรียกใช้ข้อมูลของออบเจ็กต์ |
isSyncingAllColumns() | Boolean | แสดงผลว่าตารางแหล่งข้อมูลซิงค์คอลัมน์ทั้งหมดในแหล่งข้อมูลที่เกี่ยวข้องหรือไม่ |
refreshData() | DataSourceTable | รีเฟรชข้อมูลของออบเจ็กต์ |
removeAllColumns() | DataSourceTable | นำคอลัมน์ทั้งหมดในตารางแหล่งข้อมูลออก |
removeAllSortSpecs() | DataSourceTable | นำข้อกำหนดในการจัดเรียงทั้งหมดออกในตารางแหล่งข้อมูล |
setRowLimit(rowLimit) | DataSourceTable | อัปเดตขีดจำกัดแถวของตารางแหล่งข้อมูล |
syncAllColumns() | DataSourceTable | ซิงค์คอลัมน์ในปัจจุบันและอนาคตทั้งหมดในแหล่งข้อมูลที่เชื่อมโยงกับตารางแหล่งข้อมูล |
waitForCompletion(timeoutInSeconds) | DataExecutionStatus | รอจนกว่าการดำเนินการปัจจุบันจะเสร็จสมบูรณ์ แล้วหมดเวลาหลังจากใช้งานไปตามจำนวนวินาทีที่ระบุ |
เอกสารโดยละเอียด
addColumns(columnNames)
เพิ่มคอลัมน์ลงในตารางแหล่งข้อมูล
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
columnNames | String[] | รายการชื่อคอลัมน์ที่จะเพิ่ม |
รีเทิร์น
DataSourceTable
— ตารางแหล่งข้อมูลสำหรับการทำเชน
การให้สิทธิ์
สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addFilter(columnName, filterCriteria)
เพิ่มตัวกรองที่ใช้กับตารางแหล่งข้อมูล
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
columnName | String | ชื่อของคอลัมน์ที่จะใช้ตัวกรองนี้ |
filterCriteria | FilterCriteria | เกณฑ์ตัวกรองที่จะใช้ |
รีเทิร์น
DataSourceTable
— ตารางแหล่งข้อมูลสำหรับการทำเชน
การให้สิทธิ์
สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addSortSpec(columnName, ascending)
เพิ่มข้อกำหนดในการจัดเรียงในคอลัมน์ในตารางแหล่งข้อมูล
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
columnName | String | ชื่อคอลัมน์ที่จะจัดเรียง |
ascending | Boolean | หากเป็น true ให้จัดเรียงคอลัมน์ตามลําดับจากน้อยไปมาก หากเป็น false ให้จัดเรียงคอลัมน์ตามลําดับจากมากไปน้อย |
รีเทิร์น
DataSourceTable
— ชีตแหล่งข้อมูลสำหรับการเชื่อมโยง
การให้สิทธิ์
สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
addSortSpec(columnName, sortOrder)
เพิ่มข้อกำหนดในการจัดเรียงในคอลัมน์ในตารางแหล่งข้อมูล
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
columnName | String | ชื่อคอลัมน์ที่จะจัดเรียง |
sortOrder | SortOrder | ลำดับการจัดเรียง |
รีเทิร์น
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
หากไม่ได้กําหนดขีดจํากัดไว้และตารางใช้ขีดจํากัดสูงสุดเริ่มต้นเหมือนใน 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()
เพื่อป้องกันการแก้ไขที่ไม่คาดคิดในแหล่งข้อมูล
มีข้อยกเว้นหากไม่ได้เปิดใช้ประเภทแหล่งข้อมูล ใช้เมธอด 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 ชีต
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
rowLimit | 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)
รอจนกว่าการดำเนินการปัจจุบันจะเสร็จสมบูรณ์ แล้วหมดเวลาหลังจากใช้งานไปตามจำนวนวินาทีที่ระบุ มีข้อยกเว้นหากการดำเนินการไม่เสร็จสิ้นเมื่อหมดเวลา แต่ไม่ได้ยกเลิกการดำเนินการกับข้อมูล
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
timeoutInSeconds | Integer | เวลาที่รอการเรียกใช้ข้อมูล หน่วยเป็นวินาที มีความยาวไม่เกิน 300 วินาที |
รีเทิร์น
DataExecutionStatus
— สถานะการดำเนินการกับข้อมูล
การให้สิทธิ์
สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets