2026-03-27 17:42:41 +08:00
|
|
|
|
# Sheet 表格操作参考文档
|
|
|
|
|
|
|
|
|
|
|
|
本文件包含腾讯文档 MCP 中 Sheet(在线表格)相关工具的完整 API 说明、详细调用示例、参数说明和返回值说明。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 通用说明
|
|
|
|
|
|
|
|
|
|
|
|
### Sheet 工具概述
|
|
|
|
|
|
|
|
|
|
|
|
Sheet 工具专门用于操作腾讯文档中的在线表格(Excel格式),提供表格信息的查询、范围数据的获取以及批量更新等功能。
|
|
|
|
|
|
|
|
|
|
|
|
### 响应结构
|
|
|
|
|
|
|
|
|
|
|
|
所有 API 返回都包含:
|
|
|
|
|
|
- `error`: 错误信息(成功时为空)
|
|
|
|
|
|
- `trace_id`: 调用链追踪 ID
|
|
|
|
|
|
|
|
|
|
|
|
### 表格范围表示法
|
|
|
|
|
|
|
|
|
|
|
|
Sheet 工具使用 A1 表示法来指定表格范围:
|
|
|
|
|
|
- `A1`: 单个单元格
|
|
|
|
|
|
- `A1:B10`: 矩形区域
|
|
|
|
|
|
- `Sheet1!A1:B10`: 指定工作表名称的范围
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 工具调用示例
|
|
|
|
|
|
|
|
|
|
|
|
## 1. GetSheetInfo
|
|
|
|
|
|
|
|
|
|
|
|
### 功能说明
|
|
|
|
|
|
查询工作表的基本信息,包括所有子表的ID、标题、大小和已使用的行列数。
|
|
|
|
|
|
|
|
|
|
|
|
### 调用示例
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"file_id": "sheet_1234567890"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 参数说明
|
|
|
|
|
|
- `file_id` (string, 必填): 表格文件唯一标识符
|
|
|
|
|
|
|
|
|
|
|
|
### 返回值说明
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"sheet_info": {
|
|
|
|
|
|
"file_id": "sheet_1234567890",
|
|
|
|
|
|
"title": "销售数据表",
|
|
|
|
|
|
"sheets": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"sheet_id": "sht1234567890",
|
|
|
|
|
|
"title": "Sheet1",
|
|
|
|
|
|
"row_count": 100,
|
|
|
|
|
|
"column_count": 10,
|
|
|
|
|
|
"used_row_count": 50,
|
|
|
|
|
|
"used_column_count": 5
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"error": "",
|
|
|
|
|
|
"trace_id": "trace_1234567890"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 2. GetSheetRange
|
|
|
|
|
|
|
|
|
|
|
|
### 功能说明
|
|
|
|
|
|
获取指定范围内的在线表格信息,支持 A1 表示法指定查询范围。
|
|
|
|
|
|
|
|
|
|
|
|
### 调用示例
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"file_id": "sheet_1234567890",
|
|
|
|
|
|
"range": "A1:C10"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 参数说明
|
|
|
|
|
|
- `file_id` (string, 必填): 表格文件唯一标识符
|
|
|
|
|
|
- `range` (string, 必填): 查询范围,使用 A1 表示法
|
|
|
|
|
|
- `sheet_id` (string, 可选): 工作表ID,不指定时使用默认工作表
|
|
|
|
|
|
|
|
|
|
|
|
### 返回值说明
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"range_data": {
|
|
|
|
|
|
"range": "A1:C10",
|
|
|
|
|
|
"values": [
|
|
|
|
|
|
["姓名", "年龄", "部门"],
|
|
|
|
|
|
["张三", "25", "技术部"],
|
|
|
|
|
|
["李四", "30", "产品部"]
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
"error": "",
|
|
|
|
|
|
"trace_id": "trace_1234567890"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 3. BatchUpdateSheet
|
|
|
|
|
|
|
|
|
|
|
|
### 功能说明
|
|
|
|
|
|
批量执行对在线表格的更新操作,支持添加工作表、更新单元格内容、删除行列、删除工作表等多种操作。
|
|
|
|
|
|
|
|
|
|
|
|
### 调用示例
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"file_id": "sheet_1234567890",
|
|
|
|
|
|
"requests": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"add_sheet": {
|
|
|
|
|
|
"properties": {
|
|
|
|
|
|
"title": "新工作表"
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"update_cells": {
|
|
|
|
|
|
"range": "A1:B2",
|
|
|
|
|
|
"rows": [
|
|
|
|
|
|
{"values": ["标题1", "标题2"]},
|
|
|
|
|
|
{"values": ["数据1", "数据2"]}
|
|
|
|
|
|
]
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 参数说明
|
|
|
|
|
|
- `file_id` (string, 必填): 表格文件唯一标识符
|
|
|
|
|
|
- `requests` (array, 必填): 批量操作请求列表,单次请求的操作数量不大于5
|
|
|
|
|
|
|
|
|
|
|
|
### 支持的操作类型
|
|
|
|
|
|
|
|
|
|
|
|
#### 添加工作表
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"add_sheet": {
|
|
|
|
|
|
"properties": {
|
|
|
|
|
|
"title": "工作表标题",
|
|
|
|
|
|
"index": 0
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### 更新单元格
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"update_cells": {
|
|
|
|
|
|
"range": "A1:B2",
|
|
|
|
|
|
"rows": [
|
|
|
|
|
|
{"values": ["值1", "值2"]},
|
|
|
|
|
|
{"values": ["值3", "值4"]}
|
|
|
|
|
|
]
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### 删除行列
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"delete_dimension": {
|
|
|
|
|
|
"range": {
|
|
|
|
|
|
"sheet_id": "sht1234567890",
|
|
|
|
|
|
"dimension": "ROWS",
|
|
|
|
|
|
"start_index": 5,
|
|
|
|
|
|
"end_index": 10
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### 删除工作表
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"delete_sheet": {
|
|
|
|
|
|
"sheet_id": "sht1234567890"
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 返回值说明
|
|
|
|
|
|
```json
|
|
|
|
|
|
{
|
|
|
|
|
|
"replies": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"add_sheet": {
|
|
|
|
|
|
"properties": {
|
|
|
|
|
|
"sheet_id": "sht1234567890",
|
|
|
|
|
|
"title": "新工作表",
|
|
|
|
|
|
"index": 1
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
],
|
|
|
|
|
|
"error": "",
|
|
|
|
|
|
"trace_id": "trace_1234567890"
|
|
|
|
|
|
}
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 典型工作流示例
|
|
|
|
|
|
|
|
|
|
|
|
### 工作流 1:查询表格信息并获取数据
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 1. 获取表格基本信息
|
|
|
|
|
|
mcporter call "tencent-docs.GetSheetInfo" --args '{"file_id":"sheet_1234567890"}'
|
|
|
|
|
|
|
|
|
|
|
|
# 2. 获取指定范围的数据
|
|
|
|
|
|
mcporter call "tencent-docs.GetSheetRange" --args '{"file_id":"sheet_1234567890","range":"A1:C10"}'
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
# 2. 批量更新表格内容
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 1. 批量更新单元格内容
|
|
|
|
|
|
mcporter call "tencent-docs.BatchUpdateSheet" --args '{
|
|
|
|
|
|
"file_id": "sheet_1234567890",
|
|
|
|
|
|
"requests": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"update_cells": {
|
|
|
|
|
|
"range": "A1:B2",
|
|
|
|
|
|
"rows": [
|
|
|
|
|
|
{"values": ["标题1", "标题2"]},
|
|
|
|
|
|
{"values": ["数据1", "数据2"]}
|
|
|
|
|
|
]
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
}'
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 工作流 3:管理工作表结构
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 1. 添加新工作表
|
|
|
|
|
|
mcporter call "tencent-docs.BatchUpdateSheet" --args '{
|
|
|
|
|
|
"file_id": "sheet_1234567890",
|
|
|
|
|
|
"requests": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"add_sheet": {
|
|
|
|
|
|
"properties": {
|
|
|
|
|
|
"title": "2024年数据"
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
}'
|
|
|
|
|
|
|
|
|
|
|
|
# 2. 删除不需要的工作表
|
|
|
|
|
|
mcporter call "tencent-docs.BatchUpdateSheet" --args '{
|
|
|
|
|
|
"file_id": "sheet_1234567890",
|
|
|
|
|
|
"requests": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"delete_sheet": {
|
|
|
|
|
|
"sheet_id": "sht1234567890"
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
}'
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 注意事项
|
|
|
|
|
|
|
|
|
|
|
|
### 范围限制
|
|
|
|
|
|
- `GetSheetRange` 单次查询范围限制:行数≤1000,列数≤200,单元格总数≤10000
|
|
|
|
|
|
- `BatchUpdateSheet` 单次请求的操作数量不大于5
|
|
|
|
|
|
|
|
|
|
|
|
### 数据格式
|
|
|
|
|
|
- 单元格数据使用二维数组表示,第一维是行,第二维是列
|
|
|
|
|
|
- 空单元格使用空字符串表示
|
|
|
|
|
|
- 数值类型的数据会自动转换为字符串
|
|
|
|
|
|
|
|
|
|
|
|
### 性能建议
|
|
|
|
|
|
- 对于大数据量的更新,建议使用 `BatchUpdateSheet` 进行批量操作
|
|
|
|
|
|
- 查询大范围数据时,建议分页获取数据
|
|
|
|
|
|
- 避免频繁的小范围更新操作
|
|
|
|
|
|
|
|
|
|
|
|
### 错误处理
|
|
|
|
|
|
- 如果范围超出表格边界,会返回错误信息
|
|
|
|
|
|
- 如果工作表不存在,会返回相应的错误提示
|
2026-03-25 16:42:18 +08:00
|
|
|
|
- 批量操作中某个操作失败时,整个批量操作会回滚
|