Class DataSourceTable

DataSourceTable

Truy cập và sửa đổi bảng nguồn dữ liệu hiện có. Để tạo bảng nguồn dữ liệu mới trên một trang tính mới, hãy sử dụng Spreadsheet.insertSheetWithDataSourceTable(spec).

Chỉ sử dụng lớp này với dữ liệu được kết nối với cơ sở dữ liệu.

Ví dụ này cho biết cách tạo bảng nguồn dữ liệu mới.

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());

Ví dụ này cho thấy cách chỉnh sửa nguồn dữ liệu.

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());

Phương thức

Phương thứcKiểu dữ liệu trả vềMô tả ngắn
addColumns(columnNames)DataSourceTableThêm cột vào bảng nguồn dữ liệu.
addFilter(columnName, filterCriteria)DataSourceTableThêm bộ lọc áp dụng cho bảng nguồn dữ liệu.
addSortSpec(columnName, ascending)DataSourceTableThêm thông số sắp xếp trên một cột trong bảng nguồn dữ liệu.
addSortSpec(columnName, sortOrder)DataSourceTableThêm thông số sắp xếp trên một cột trong bảng nguồn dữ liệu.
cancelDataRefresh()DataSourceTableHuỷ quá trình làm mới dữ liệu được liên kết với đối tượng này nếu đối tượng hiện đang chạy.
forceRefreshData()DataSourceTableLàm mới dữ liệu của đối tượng này bất kể trạng thái hiện tại.
getColumns()DataSourceTableColumn[]Lấy tất cả cột nguồn dữ liệu đã được thêm vào bảng nguồn dữ liệu.
getDataSource()DataSourceLấy nguồn dữ liệu mà đối tượng được liên kết.
getFilters()DataSourceTableFilter[]Trả về tất cả bộ lọc áp dụng cho bảng nguồn dữ liệu.
getRange()RangeLấy Range mà bảng nguồn dữ liệu này trải rộng.
getRowLimit()IntegerTrả về hạn mức về số hàng cho bảng nguồn dữ liệu.
getSortSpecs()SortSpec[]Lấy tất cả thông số sắp xếp trong bảng nguồn dữ liệu.
getStatus()DataExecutionStatusLấy trạng thái thực thi dữ liệu của đối tượng.
isSyncingAllColumns()BooleanTrả về xem bảng nguồn dữ liệu có đang đồng bộ hoá tất cả các cột trong nguồn dữ liệu được liên kết hay không.
refreshData()DataSourceTableLàm mới dữ liệu của đối tượng.
removeAllColumns()DataSourceTableXoá tất cả cột trong bảng nguồn dữ liệu.
removeAllSortSpecs()DataSourceTableXoá tất cả thông số sắp xếp trong bảng nguồn dữ liệu.
setRowLimit(rowLimit)DataSourceTableCập nhật hạn mức về số hàng cho bảng nguồn dữ liệu.
syncAllColumns()DataSourceTableĐồng bộ hoá tất cả cột hiện tại và trong tương lai trong nguồn dữ liệu được liên kết với bảng nguồn dữ liệu.
waitForCompletion(timeoutInSeconds)DataExecutionStatusChờ cho đến khi quá trình thực thi hiện tại hoàn tất, hết thời gian chờ sau số giây đã cung cấp.

Tài liệu chi tiết

addColumns(columnNames)

Thêm cột vào bảng nguồn dữ liệu.

Thông số

TênLoạiNội dung mô tả
columnNamesString[]Danh sách tên của các cột cần thêm.

Cầu thủ trả bóng

DataSourceTable – Bảng nguồn dữ liệu để tạo chuỗi.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addFilter(columnName, filterCriteria)

Thêm bộ lọc áp dụng cho bảng nguồn dữ liệu.

Thông số

TênLoạiNội dung mô tả
columnNameStringTên của cột để áp dụng bộ lọc này.
filterCriteriaFilterCriteriaTiêu chí lọc để áp dụng.

Cầu thủ trả bóng

DataSourceTable – Bảng nguồn dữ liệu để tạo chuỗi.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addSortSpec(columnName, ascending)

Thêm thông số sắp xếp trên một cột trong bảng nguồn dữ liệu.

Thông số

TênLoạiNội dung mô tả
columnNameStringTên của cột cần sắp xếp.
ascendingBooleanNếu là true, hãy sắp xếp cột theo thứ tự tăng dần; nếu là false, hãy sắp xếp cột theo thứ tự giảm dần.

Cầu thủ trả bóng

DataSourceTable – Trang tính nguồn dữ liệu để tạo chuỗi.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

addSortSpec(columnName, sortOrder)

Thêm thông số sắp xếp trên một cột trong bảng nguồn dữ liệu.

Thông số

TênLoạiNội dung mô tả
columnNameStringTên của cột cần sắp xếp.
sortOrderSortOrderThứ tự sắp xếp.

Cầu thủ trả bóng

DataSourceTable – Trang tính nguồn dữ liệu để tạo chuỗi.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

cancelDataRefresh()

Huỷ quá trình làm mới dữ liệu được liên kết với đối tượng này nếu đối tượng hiện đang chạy.

Ví dụ này cho thấy cách huỷ làm mới công thức.

const spreadsheet = SpreadsheetApp.getActive();
const formula = spreadsheet.getDataSourceFormulas()[0];
// Cancel the ongoing refresh on the formula.
formula.cancelDataRefresh();

Gửi một ngoại lệ nếu loại nguồn dữ liệu chưa được bật. Sử dụng các phương thức SpreadsheetApp#enable...Execution() để cho phép thực thi dữ liệu cho loại nguồn dữ liệu cụ thể.

Cầu thủ trả bóng

DataSourceTable – Đối tượng dữ liệu.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

forceRefreshData()

Làm mới dữ liệu của đối tượng này bất kể trạng thái hiện tại. Hãy xem refreshData() để biết thêm chi tiết. Nếu bạn muốn huỷ quá trình làm mới hiện đang chạy đối tượng này, hãy xem cancelDataRefresh().

Gửi một ngoại lệ nếu loại nguồn dữ liệu chưa được bật. Sử dụng các phương thức SpreadsheetApp#enable...Execution() để cho phép thực thi dữ liệu cho loại nguồn dữ liệu cụ thể.

Cầu thủ trả bóng

DataSourceTable – Đối tượng dữ liệu.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getColumns()

Lấy tất cả cột nguồn dữ liệu đã được thêm vào bảng nguồn dữ liệu.

Cầu thủ trả bóng

DataSourceTableColumn[] – Danh sách các cột trong bảng nguồn dữ liệu.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getDataSource()

Lấy nguồn dữ liệu mà đối tượng được liên kết.

Cầu thủ trả bóng

DataSource — Nguồn dữ liệu.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getFilters()

Trả về tất cả bộ lọc áp dụng cho bảng nguồn dữ liệu.

Cầu thủ trả bóng

DataSourceTableFilter[] — Một mảng gồm tất cả các bộ lọc được áp dụng cho bảng nguồn dữ liệu.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRange()

Lấy Range mà bảng nguồn dữ liệu này trải rộng.

Cầu thủ trả bóng

Range – Dải ô.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRowLimit()

Trả về hạn mức về số hàng cho bảng nguồn dữ liệu.

Cầu thủ trả bóng

Integer – Giới hạn số hàng cho bảng nguồn dữ liệu hoặc null nếu không có giới hạn nào được đặt và bảng sử dụng giới hạn tối đa mặc định như trong giao diện người dùng Google Trang tính.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getSortSpecs()

Lấy tất cả thông số sắp xếp trong bảng nguồn dữ liệu.

Cầu thủ trả bóng

SortSpec[] – Danh sách thông số sắp xếp.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getStatus()

Lấy trạng thái thực thi dữ liệu của đối tượng.

Cầu thủ trả bóng

DataExecutionStatus — Trạng thái thực thi dữ liệu.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

isSyncingAllColumns()

Trả về xem bảng nguồn dữ liệu có đang đồng bộ hoá tất cả các cột trong nguồn dữ liệu được liên kết hay không.

Cầu thủ trả bóng

BooleanTrue nếu bảng nguồn dữ liệu đang đồng bộ hoá tất cả các cột trong nguồn dữ liệu được liên kết hoặc false nếu không.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

refreshData()

Làm mới dữ liệu của đối tượng.

Gửi một ngoại lệ nếu hiện ở trạng thái error. Sử dụng DataSource#updateSpec() để cập nhật quy cách. Phương thức này được ưu tiên hơn forceRefreshData() để ngăn chặn các nội dung chỉnh sửa không mong muốn đối với nguồn dữ liệu.

Gửi một ngoại lệ nếu loại nguồn dữ liệu chưa được bật. Sử dụng các phương thức SpreadsheetApp#enable...Execution() để cho phép thực thi dữ liệu cho loại nguồn dữ liệu cụ thể.

Cầu thủ trả bóng

DataSourceTable – Đối tượng dữ liệu.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeAllColumns()

Xoá tất cả cột trong bảng nguồn dữ liệu.

Cầu thủ trả bóng

DataSourceTable – Bảng nguồn dữ liệu để tạo chuỗi.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeAllSortSpecs()

Xoá tất cả thông số sắp xếp trong bảng nguồn dữ liệu.

Cầu thủ trả bóng

DataSourceTable – Trang tính nguồn dữ liệu để tạo chuỗi.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setRowLimit(rowLimit)

Cập nhật hạn mức về số hàng cho bảng nguồn dữ liệu. Nếu giới hạn số hàng đã cung cấp là null, hãy cập nhật bảng nguồn dữ liệu để sử dụng giới hạn số hàng tối đa mặc định như trong giao diện người dùng Google Trang tính.

Thông số

TênLoạiNội dung mô tả
rowLimitIntegerHạn mức mới về số hàng cho bảng dữ liệu. Nếu là null, hãy cập nhật bảng để sử dụng giới hạn về số hàng mặc định.

Cầu thủ trả bóng

DataSourceTable – Bảng nguồn dữ liệu để tạo chuỗi.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

syncAllColumns()

Đồng bộ hoá tất cả cột hiện tại và trong tương lai trong nguồn dữ liệu được liên kết với bảng nguồn dữ liệu.

Cầu thủ trả bóng

DataSourceTable – Bảng nguồn dữ liệu để tạo chuỗi.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

waitForCompletion(timeoutInSeconds)

Chờ cho đến khi quá trình thực thi hiện tại hoàn tất, hết thời gian chờ sau số giây đã cung cấp. Gửi một ngoại lệ nếu quá trình thực thi không hoàn tất khi hết thời gian chờ, nhưng không huỷ quá trình thực thi dữ liệu.

Thông số

TênLoạiNội dung mô tả
timeoutInSecondsIntegerThời gian chờ thực thi dữ liệu, tính bằng giây. Thời lượng tối đa là 300 giây.

Cầu thủ trả bóng

DataExecutionStatus — Trạng thái thực thi dữ liệu.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets