本文档介绍了在
spreadsheets资源上使用
spreadsheets.batchUpdate
方法的基础知识。
除了单元格中包含的值数据之外,a 电子表格还包含许多 其他类型的数据,例如:
- 维度
- 单元格格式和边框
- 命名的范围
- 受保护的范围
- 条件格式
这些是控制电子表格外观和操作的多种数据中的一部分。借助 spreadsheets.batchUpdate
方法,您可以更新任何此类电子表格详细信息。更改会分组在一个批次中,这样,如果一个请求失败,则不会写入任何其他(可能依赖于该请求的)更改。
如果您需要读取和写入单元格值数据,还可以使用
spreadsheets.values
资源,如读取和写入单元格
值中所述。
操作类型
spreadsheets.batchUpdate 方法支持的特定操作可以分为以下大致的操作类型:
| 类别 | 说明 |
|---|---|
| 添加 (和复制 ) | 添加新对象(有时基于旧对象,如复制请求中所示)。 |
| 更新 (和设置 ) | 更新对象的某些属性,通常保留旧属性不变(而设置请求会覆盖之前的数据)。 |
| 删除 | 移除对象。 |
下一部分将使用这些类别来描述特定操作的行为。
批量更新操作
The spreadsheets.batchUpdate method works by taking one or more
Request
对象,每个对象都指定要执行的单个请求类型。下表列出了按资源对象和操作类型分组的批量更新请求类型:
数据操作请求
还有一些额外的请求可以模拟用户操作来操作数据:
| 请求 | 说明 |
|---|---|
AutoFillRequest |
根据现有数据自动填充更多数据。 |
CopyPasteRequest |
将数据从一个区域复制并粘贴到另一个区域。 |
CutPasteRequest |
将数据从一个区域剪切并粘贴到另一个区域。 |
DeleteDuplicatesRequest |
移除单元格 范围的指定列中包含重复值的行。 |
FindReplaceRequest |
查找一些文本并将其替换为其他文本。 |
PasteDataRequest |
将数据(HTML 或分隔符分隔)粘贴到工作表中。 |
RandomizeRangeRequest |
随机化范围内的行顺序。 |
SortRangeRequest |
对范围内的进行排序。 |
TextToColumnsRequest |
将一列文本转换为多列文本。 |
TrimWhitespaceRequest |
移除单元格中的空格(例如空格、制表符或换行符)。 |
如需详细了解 Google 表格中的单元格和行数限制,请参阅可存储在 Google 云端硬盘的文件。
使用字段掩码更新特定字段
许多更新请求都需要 FieldMask。 字段掩码是以英文逗号分隔的字段列表,用于指明要更新对象中的哪些字段,同时保留所有其他字段不变。使用字段掩码可以防止意外覆盖请求中未指定的字段。
如需详细了解字段掩码,请参阅使用字段 掩码进行更新。
以下代码示例展示了如何使用
UpdateSpreadsheetPropertiesRequest
仅更新电子表格的标题:
请求
POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId:batchUpdate
请求正文
{
"requests": [{
"updateSpreadsheetProperties": {
"properties": {"title": "TITLE"},
"fields": "title"
}
}]
}将 TITLE 替换为电子表格的新标题。
批量更新响应
更新电子表格时,某些类型的请求可能会返回响应。 这些响应以数组形式返回,每个响应都占据与相应请求相同的索引。某些请求没有响应,对于这些请求,响应为空。
通常,“添加”请求会返回响应,其中包含添加的对象 ID 等信息。如需查看支持的响应列表,请参阅
Responses。
代码示例:批量更新电子表格
以下代码示例展示了如何执行以下操作:
- 使用
title变量更新电子表格的标题。 - 使用
find和replacement变量查找和替换电子表格中的单元格值。