Method: spreadsheets.values.batchUpdateByDataFilter

設定試算表的一或多個範圍中的值。呼叫端必須指定試算表 ID、valueInputOption 以及一或多個 DataFilterValueRanges

HTTP 要求

POST https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values:batchUpdateByDataFilter

這個網址使用 gRPC 轉碼語法。

路徑參數

參數
spreadsheetId

string

要更新的試算表 ID。

要求主體

要求主體的資料會採用以下結構:

JSON 表示法
{
  "valueInputOption": enum (ValueInputOption),
  "data": [
    {
      object (DataFilterValueRange)
    }
  ],
  "includeValuesInResponse": boolean,
  "responseValueRenderOption": enum (ValueRenderOption),
  "responseDateTimeRenderOption": enum (DateTimeRenderOption)
}
欄位
valueInputOption

enum (ValueInputOption)

應如何解讀輸入資料。

data[]

object (DataFilterValueRange)

要套用至試算表的新值。如果指定的 DataFilter 有多個相符的範圍,則指定的值會套用至所有範圍。

includeValuesInResponse

boolean

決定更新回應是否應包含已更新的儲存格值。根據預設,回應不會包含更新的值。每個 BatchUpdateValuesResponse.responses 中的 updatedData 欄位都包含更新後的值。如果寫入的範圍大於實際寫入的範圍,回應會包含要求範圍內的所有值 (不包含結尾的空白列與欄)。

responseValueRenderOption

enum (ValueRenderOption)

決定如何轉譯回應中的值。預設的轉譯選項為 FORMATTED_VALUE

responseDateTimeRenderOption

enum (DateTimeRenderOption)

決定回應中的日期、時間和持續時間的顯示方式。如果 responseValueRenderOptionFORMATTED_VALUE,系統就會忽略此方法。預設的 dateTime 轉譯選項為 SERIAL_NUMBER

回應主體

更新試算表中某個範圍的值時的回應。

如果成功,回應主體會含有以下結構的資料:

JSON 表示法
{
  "spreadsheetId": string,
  "totalUpdatedRows": integer,
  "totalUpdatedColumns": integer,
  "totalUpdatedCells": integer,
  "totalUpdatedSheets": integer,
  "responses": [
    {
      object (UpdateValuesByDataFilterResponse)
    }
  ]
}
欄位
spreadsheetId

string

套用更新內容的試算表。

totalUpdatedRows

integer

列中至少一個儲存格完成更新的資料列總數。

totalUpdatedColumns

integer

欄中至少有一個儲存格完成更新的欄總數。

totalUpdatedCells

integer

已更新的儲存格總數。

totalUpdatedSheets

integer

工作表中至少有一個儲存格已更新的工作表總數。

responses[]

object (UpdateValuesByDataFilterResponse)

每個範圍的回應都會更新。

授權範圍

需要下列其中一種 OAuth 範圍:

  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/spreadsheets

詳情請參閱授權指南

DataFilterValueRange

其位置由 DataFilter 指定的值範圍。

JSON 表示法
{
  "dataFilter": {
    object (DataFilter)
  },
  "majorDimension": enum (Dimension),
  "values": [
    array
  ]
}
欄位
dataFilter

object (DataFilter)

這個資料篩選器會說明試算表中值的位置。

majorDimension

enum (Dimension)

值的主要維度。

values[]

array (ListValue format)

要寫入的資料。如果提供的值超過資料篩選器相符的任一範圍,則要求就會失敗。如果提供的值小於相符範圍,系統只會寫入指定的值,但相符範圍中的現有值不會受到影響。

UpdateValuesByDataFilterResponse

透過試算表的資料篩選器更新某個範圍的值時的回應。

JSON 表示法
{
  "updatedRange": string,
  "updatedRows": integer,
  "updatedColumns": integer,
  "updatedCells": integer,
  "dataFilter": {
    object (DataFilter)
  },
  "updatedData": {
    object (ValueRange)
  }
}
欄位
updatedRange

string

套用更新的範圍 (採用 A1 標記法)。

updatedRows

integer

列中至少一個儲存格完成更新的列數。

updatedColumns

integer

這個資料欄中至少有一個儲存格已更新的欄數。

updatedCells

integer

已更新儲存格的數量。

dataFilter

object (DataFilter)

所選範圍已更新的資料篩選器。

updatedData

object (ValueRange)

套用所有更新之後,範圍中與 dataFilter 相符的儲存格值。只有要求的 includeValuesInResponse 欄位為 true 時,才會納入此欄位。