本文档介绍了如何使用 spreadsheets 资源中的 spreadsheets.batchUpdate 方法的基础知识。
除了单元格中包含的值数据之外,电子表格还包含许多其他类型的数据,例如:
- 维度
- 单元格格式和边框
- 命名范围
- 受保护的范围
- 条件格式
这些数据只是控制电子表格外观和操作的众多数据类型中的一部分。您可以使用 spreadsheets.batchUpdate 方法更新上述任何电子表格详细信息。更改会分批分组,以便在一个请求失败时,不会写入任何其他(可能相关的)更改。
如果您需要读取和写入单元格值数据,还可以使用 spreadsheets.values 资源,如读取和写入单元格值中所述。
操作类型
spreadsheets.batchUpdate 方法支持的特定操作可分为以下几类:
| 类别 | 说明 |
|---|---|
| 添加(和复制) | 添加新对象(有时基于旧对象,如在重复请求中)。 |
| 更新(和设置) | 更新对象的某些属性,通常会保留旧属性(而 Set 请求会覆盖之前的数据)。 |
| 删除 | 移除对象。 |
下一部分将使用这些类别来描述特定操作的行为。
批量更新操作
spreadsheets.batchUpdate 方法通过接受一个或多个 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变量查找和替换电子表格中的单元格值。