Class DataSourceTable

BảngNguồnDữ liệu

Truy cập và sửa đổi bảng nguồn dữ liệu hiện có. Để tạo một 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 các nguồn dữ liệu BigQuery.

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

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

Ví dụ này minh hoạ cách chỉnh sửa một nguồn dữ liệu.

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

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 một bộ lọc được áp dụng cho bảng nguồn dữ liệu.
addSortSpec(columnName, ascending)DataSourceTableThêm một quy cách sắp xếp vào một cột trong bảng nguồn dữ liệu.
addSortSpec(columnName, sortOrder)DataSourceTableThêm một quy cách sắp xếp vào một cột trong bảng nguồn dữ liệu.
cancelDataRefresh()DataSourceTableHuỷ quá trình làm mới dữ liệu liên kết với đối tượng này nếu quá trình đó đ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á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 đượ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()Integer|nullTrả về giới hạn hàng cho bảng nguồn dữ liệu.
getSortSpecs()SortSpec[]Lấy tất cả cá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ề liệu 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ác cột trong bảng nguồn dữ liệu.
removeAllSortSpecs()DataSourceTableXoá tất cả các tiêu chí sắp xếp trong bảng nguồn dữ liệu.
setRowLimit(rowLimit)DataSourceTableCập nhật giới hạn 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)DataExecutionStatusĐợi 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ạiMô 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, để liên kết.

Ủy quyền

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

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

addFilter(columnName, filterCriteria)

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

Thông số

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

Cầu thủ trả bóng

DataSourceTable – Bảng nguồn dữ liệu, để liên kết.

Ủy quyền

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

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

addSortSpec(columnName, ascending)

Thêm một quy cách sắp xếp vào một cột trong bảng nguồn dữ liệu.

Thông số

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

Cầu thủ trả bóng

DataSourceTable – Trang nguồn dữ liệu, để liên kết.

Ủy quyền

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

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

addSortSpec(columnName, sortOrder)

Thêm một quy cách sắp xếp vào một cột trong bảng nguồn dữ liệu.

Thông số

TênLoạiMô 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 nguồn dữ liệu, để liên kết.

Ủy quyền

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

  • 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 liên kết với đối tượng này nếu quá trình đó đ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 không đượ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 một 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 cần được uỷ quyền bằng một hoặc nhiều phạm vi sau đây:

  • 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 thông tin chi tiết. Nếu bạn muốn huỷ quá trình làm mới đang chạy của đố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 không đượ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 một 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 cần được uỷ quyền bằng một hoặc nhiều phạm vi sau đây:

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

getColumns()

Lấy tất cả cá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 cần được uỷ quyền bằng một hoặc nhiều phạm vi sau đây:

  • 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 cần được uỷ quyền bằng một hoặc nhiều phạm vi sau đây:

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

getFilters()

Trả về tất cả bộ lọc đượ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 cần được uỷ quyền bằng một hoặc nhiều phạm vi sau đây:

  • 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 – Phạm vi.

Ủy quyền

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

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

getRowLimit()

Trả về giới hạn hàng cho bảng nguồn dữ liệu.

Cầu thủ trả bóng

Integer|null – Hạn mức hàng cho bảng nguồn dữ liệu hoặc null nếu không đặt hạn mức và bảng sử dụng hạn mức 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 cần được uỷ quyền bằng một hoặc nhiều phạm vi sau đây:

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

getSortSpecs()

Lấy tất cả cá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 các 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 cần được uỷ quyền bằng một hoặc nhiều phạm vi sau đây:

  • 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 cần được uỷ quyền bằng một hoặc nhiều phạm vi sau đây:

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

isSyncingAllColumns()

Trả về liệu 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 cần được uỷ quyền bằng một hoặc nhiều phạm vi sau đây:

  • 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.

Khai báo một trường hợp ngoại lệ nếu hiện đang ở 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 trên nguồn dữ liệu.

Gửi một ngoại lệ nếu loại nguồn dữ liệu không đượ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 một 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 cần được uỷ quyền bằng một hoặc nhiều phạm vi sau đây:

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

removeAllColumns()

Xoá tất cả cá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, để liên kết.

Ủy quyền

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

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

removeAllSortSpecs()

Xoá tất cả các tiêu chí sắp xếp trong bảng nguồn dữ liệu.

Cầu thủ trả bóng

DataSourceTable – Trang nguồn dữ liệu, để liên kết.

Ủy quyền

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

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

setRowLimit(rowLimit)

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

Thông số

TênLoạiMô tả
rowLimitIntegerGiới hạn hàng mới cho bảng dữ liệu. Nếu null, hãy cập nhật bảng để sử dụng giới hạn hàng mặc định.

Cầu thủ trả bóng

DataSourceTable – Bảng nguồn dữ liệu, để liên kết.

Ủy quyền

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

  • 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, để liên kết.

Ủy quyền

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

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

waitForCompletion(timeoutInSeconds)

Đợi 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. Trả về 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ạiMô 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 cần được uỷ quyền bằng một hoặc nhiều phạm vi sau đây:

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