Class DataSource

DataSource

访问和修改现有数据源。如需使用新数据源创建数据源表,请参阅 DataSourceTable

请仅将此类与连接到数据库的数据搭配使用。

方法

方法返回类型简介
cancelAllLinkedDataSourceObjectRefreshes()void取消与此数据源关联的数据源对象当前正在进行的所有刷新。
createCalculatedColumn(name, formula)DataSourceColumn创建计算列。
createDataSourcePivotTableOnNewSheet()DataSourcePivotTable在新工作表的第一个单元格中,通过此数据源创建一个数据源数据透视表。
createDataSourceTableOnNewSheet()DataSourceTable在新工作表的第一个单元格中,根据此数据源创建数据源表。
getCalculatedColumnByName(columnName)DataSourceColumn返回数据源中与列名称匹配的计算列。
getCalculatedColumns()DataSourceColumn[]返回数据源中的所有计算列。
getColumns()DataSourceColumn[]返回数据源中的所有列。
getDataSourceSheets()DataSourceSheet[]返回与此数据源关联的数据源工作表。
getSpec()DataSourceSpec获取数据源规范。
refreshAllLinkedDataSourceObjects()void刷新与数据源关联的所有数据源对象。
updateSpec(spec)DataSource更新数据源规范,并使用新规范刷新与此数据源关联的数据源对象。
updateSpec(spec, refreshAllLinkedObjects)DataSource更新数据源规范并使用新规范刷新关联的 data source sheets
waitForAllDataExecutionsCompletion(timeoutInSeconds)void等待关联的数据源对象的所有当前执行作业完成,超时 指定的秒数过后

详细文档

cancelAllLinkedDataSourceObjectRefreshes()

取消与此数据源关联的数据源对象当前正在运行的所有刷新。

此示例展示了如何取消对数据源的所有刷新。

SpreadsheetApp.enableBigQueryExecution();
const dataSource = spreadsheet.getDataSources()[0];
dataSource.cancelAllLinkedDataSourceObjectRefreshes();

如果数据源类型未启用,则会抛出异常。使用 SpreadsheetApp#enable...Execution() 方法为特定数据启用数据执行 来源类型。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

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

createCalculatedColumn(name, formula)

创建计算列。此方法仅适用于 BigQuery 数据源。

参数

名称类型说明
nameString计算列的名称。
formulaString计算列公式。

返回

DataSourceColumn - 新创建的计算列。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

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

createDataSourcePivotTableOnNewSheet()

在新工作表的第一个单元格中,通过此数据源创建一个数据源数据透视表。作为 副作用,将新工作表设为当前工作表。

返回

DataSourcePivotTable - 新创建的数据源数据透视表。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

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

createDataSourceTableOnNewSheet()

在新工作表的第一个单元格中,根据此数据源创建一个数据源表格。侧面 效果,可将新工作表设为当前工作表。

此方法仅适用于 BigQuery 数据源。

返回

DataSourceTable - 新创建的数据源表。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

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

getCalculatedColumnByName(columnName)

返回数据源中与列名称匹配的计算列。

参数

名称类型说明
columnNameString要获取的计算列的名称。

返回

DataSourceColumn - 与列名称匹配的计算列,如果不存在,则返回 null 计算列中的数据。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

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

getCalculatedColumns()

返回数据源中的所有计算列。

DataSourceType.LOOKER 类型的数据源规范会返回一个空数组。

返回

DataSourceColumn[] - 表示数据源中所有计算列的数组。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

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

getColumns()

返回数据源中的所有列。

返回

DataSourceColumn[] - 表示数据源中所有 DataSourceColumn 的数组。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

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

getDataSourceSheets()

返回与此数据源关联的数据源表格。

返回

DataSourceSheet[] - 一组数据源工作表。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

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

getSpec()

获取数据源规范。

返回

DataSourceSpec - 数据源规范。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

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

refreshAllLinkedDataSourceObjects()

刷新与数据源关联的所有数据源对象。

如果数据源类型未启用,则会抛出异常。使用 SpreadsheetApp#enable...Execution() 方法为特定数据源类型启用数据执行。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

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

updateSpec(spec)

更新数据源规范并刷新与此数据源关联的数据源对象 新规范的数据源

如果数据源类型未启用,则会抛出异常。使用 SpreadsheetApp#enable...Execution() 方法为特定数据启用数据执行 来源类型。

如果数据源规范类型与 当前数据源类型。

参数

名称类型说明
specDataSourceSpec要更新的数据源规范。

返回

DataSource - 数据源。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

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

updateSpec(spec, refreshAllLinkedObjects)

更新数据源规范并使用新规范刷新关联的 data source sheets

如果数据源类型未启用,则会抛出异常。使用 SpreadsheetApp#enable...Execution() 方法为特定数据启用数据执行 来源类型。

如果数据源规范类型与 当前数据源类型。

参数

名称类型说明
specDataSourceSpec要更新的数据源规范。
refreshAllLinkedObjectsBoolean如果为 true,则也会刷新所有数据源对象 与此数据源关联的数据。

返回

DataSource - 数据源。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

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

waitForAllDataExecutionsCompletion(timeoutInSeconds)

等待关联的数据源对象的所有当前执行作业完成,并在提供的秒数后超时。如果超时时执行作业未完成,则会抛出异常,但不会取消数据执行作业。

参数

名称类型说明
timeoutInSecondsInteger等待数据执行的时间,以秒为单位。最大值为 300 。

授权

使用此方法的脚本需要获得以下一个或多个范围的授权:

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