向多个范围写入数据
向电子表格某个工作表的多个指定范围中写入数据。若指定范围已内有数据,将被新写入的数据覆盖。
使用限制
- 单次写入数据不得超过 5000 行、100列。
- 每个单元格不超过 50,000 字符,由于服务端会增加控制字符,因此推荐每个单元格不超过 40,000 字符。
前提条件
调用此接口前,请确保当前调用身份(tenant_access_token 或 user_access_token)已有电子表格的编辑等文档权限,否则接口将返回 HTTP 403 或 400 状态码。了解更多,参考如何为应用或用户开通文档权限。
请求
| 项目 | 值 |
|---|---|
| HTTP URL | https://open.feishu.cn/open-apis/sheets/v2/spreadsheets/:spreadsheetToken/values_batch_update |
| HTTP Method | POST |
| 接口频率限制 | 100 次/秒 |
| 支持的应用类型 | custom,isv |
| 权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用 开启任一权限即可 | drive:drive 查看、评论、编辑和管理云空间中所有文件 sheets:spreadsheet 查看、评论、编辑和管理电子表格 |
请求头
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Authorization | string | 是 | 通过访问凭证(access_token)对调用者身份进行鉴权。可选值: - tenant_access_token: 租户授权凭证。应用代表租户(即企业或团队)执行对应操作。示例值:"Bearer t-7f1bcd13fc57d46bac21793aabcef" - user_access_token:用户授权凭证。应用代表用户执行对应操作。示例值:"Bearer u-7f1bcd13fc57d46bac21793aabcef" 了解更多,参考获取访问凭证。 |
| Content-Type | string | 是 | 固定值:"application/json; charset=utf-8" |
路径参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| spreadsheetToken | string | 是 | 电子表格的 token。可通过以下两种方式获取。了解更多,参考电子表格概述。 - 电子表格的 URL:https://sample.feishu.cn/sheets/==Iow7sNNEphp3WbtnbCscPqabcef== - 调用获取文件夹中的文件清单 示例值:"Iow7sNNEphp3WbtnbCscPqabcef" |
请求体
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
valueRanges | / | 是 | 指定写入的数据值与范围,支持传入多个 range 和 values 参数。 |
└ range | string | 是 | 写入数据的范围。格式为 !<开始位置>:<结束位置>。其中: - sheetId 为工作表 ID,通过获取工作表 获取。 - <开始位置>:<结束位置> 为工作表中单元格的范围,数字表示行索引,字母表示列索引。如 A2:B2 表示该工作表第 2 行的 A 列到 B 列。range支持四种写法,详情参考电子表格概述。注意: range 所指定的范围需要大于等于写入的数据所占用的范围。 |
└ values | array> | 是 | 写入的数据。如要写入公式、超链接、email、@人等,可参考电子表格支持写入的数据类型。 |
请求体示例
json
{
"valueRanges": [
{
"range": "1QXD0s!A1:C1",
"values": [
[
"string1", 1, "http://www.xx.com"
]
]
},
{
"range": "6e5ed3!A2:C2",
"values": [
[
"string2", 2, "http://www.xx.com"
]
]
}
]
}cURL 请求示例
bash
curl --location --request POST 'https://open.feishu.cn/open-apis/sheets/v2/spreadsheets/shtcngNygNfuqhxTBf588jwgWbJ/values_batch_update' \
--header 'Authorization: Bearer t-e346617a4acfc3a11d4ed24dca0d0c0fc8e0067e' \
--header 'Content-Type: application/json' \
--data-raw '{
"valueRanges": [
{
"range": "Q7PlXT!A6:B9",
"values": [
[
6,1
],
[
6,1
],
[
6,1
],
[
6,1
]
]
},
{
"range": "BzY8T5!A1:C2",
"values": [
[
"Hello", 2, "https://www.xx.com"
],
[
"World", 2, "https://www.xx.com"
]
]
}
]
}'响应
响应体
| 名称 | 类型 | 描述 |
|---|---|---|
code | int | 错误码,非 0 表示失败 |
msg | string | 错误描述 |
data | \- | - |
└ responses | / | 所有写入数据的范围 |
└ spreadsheetToken | string | 电子表格的 token |
└ updatedRange | string | 写入的范围 |
└ updatedRows | int | 写入的行数 |
└ updatedColumns | int | 写入的列数 |
└ updatedCells | int | 写入的单元格总数 |
└ revision | int | 工作表的版本号。从 0 开始计数,更新一次版本号加一。 |
└ spreadsheetToken | string | 电子表格的 token |
响应体示例
json
{
"code": 0,
"data": {
"responses": [
{
"spreadsheetToken": "GQJHsEgcoh2qDHtSxeKcJCabcef",
"updatedCells": 8,
"updatedColumns": 2,
"updatedRange": "4FRjKE!A6:B9",
"updatedRows": 4
},
{
"spreadsheetToken": "GQJHsEgcoh2qDHtSxeKcJCabcef",
"updatedCells": 6,
"updatedColumns": 3,
"updatedRange": "6e5ed3!A1:C2",
"updatedRows": 2
}
],
"revision": 88,
"spreadsheetToken": "GQJHsEgcoh2qDHtSxeKcJCabcef"
},
"msg": "success"
}错误码
具体可参考:服务端错误码说明
