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 時,才會加入這個值。