feishu-cli-sheet
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese飞书电子表格操作技能
飞书电子表格操作技能
使用 操作飞书电子表格,支持 V2 和 V3 API。
feishu-cli使用 操作飞书电子表格,支持 V2 和 V3 API。
feishu-cli功能概览
功能概览
| 功能 | 命令 | API 版本 |
|---|---|---|
| 创建表格 | | V3 |
| 获取信息 | | V3 |
| 列出工作表 | | V3 |
| 读取单元格 | | V2 |
| 写入单元格 | | V2 |
| 追加数据 | | V2 |
| 获取纯文本 | | V3 |
| 获取富文本 | | V3 |
| 写入富文本 | | V3 |
| 插入数据 | | V3 |
| 追加富文本 | | V3 |
| 清除内容 | | V3 |
| 行列操作 | | V2 |
| 样式设置 | | V2 |
| 合并单元格 | | V2 |
| 查找替换 | | V3 |
| 单元格图片 | | V3 |
| 工作表保护 | | V2 |
| 功能 | 命令 | API 版本 |
|---|---|---|
| 创建表格 | | V3 |
| 获取信息 | | V3 |
| 列出工作表 | | V3 |
| 读取单元格 | | V2 |
| 写入单元格 | | V2 |
| 追加数据 | | V2 |
| 获取纯文本 | | V3 |
| 获取富文本 | | V3 |
| 写入富文本 | | V3 |
| 插入数据 | | V3 |
| 追加富文本 | | V3 |
| 清除内容 | | V3 |
| 行列操作 | | V2 |
| 样式设置 | | V2 |
| 合并单元格 | | V2 |
| 查找替换 | | V3 |
| 单元格图片 | | V3 |
| 工作表保护 | | V2 |
基本操作
基本操作
bash
undefinedbash
undefined创建电子表格
创建电子表格
feishu-cli sheet create --title "销售数据"
feishu-cli sheet create --title "销售数据"
获取表格信息
获取表格信息
feishu-cli sheet get <spreadsheet_token>
feishu-cli sheet get <spreadsheet_token>
列出工作表
列出工作表
feishu-cli sheet list-sheets <spreadsheet_token>
undefinedfeishu-cli sheet list-sheets <spreadsheet_token>
undefinedV2 API(简单数据)
V2 API(简单数据)
V2 API 使用二维数组格式,适合简单数据读写。
bash
undefinedV2 API 使用二维数组格式,适合简单数据读写。
bash
undefined读取单元格
读取单元格
feishu-cli sheet read <token> "Sheet1!A1:C10"
feishu-cli sheet read <token> "Sheet1!A1:C10"
写入单元格
写入单元格
feishu-cli sheet write <token> "Sheet1!A1:B2"
--data '[["姓名","年龄"],["张三",25]]'
--data '[["姓名","年龄"],["张三",25]]'
feishu-cli sheet write <token> "Sheet1!A1:B2"
--data '[["姓名","年龄"],["张三",25]]'
--data '[["姓名","年龄"],["张三",25]]'
追加数据
追加数据
feishu-cli sheet append <token> "Sheet1!A:B"
--data '[["新行1","数据1"]]'
--data '[["新行1","数据1"]]'
undefinedfeishu-cli sheet append <token> "Sheet1!A:B"
--data '[["新行1","数据1"]]'
--data '[["新行1","数据1"]]'
undefinedV3 API(富文本)
V3 API(富文本)
V3 API 支持富文本内容,包括 @用户、@文档、图片、链接、公式等元素类型。
V3 API 支持富文本内容,包括 @用户、@文档、图片、链接、公式等元素类型。
读取数据
读取数据
bash
undefinedbash
undefined获取纯文本内容(批量获取多个范围)
获取纯文本内容(批量获取多个范围)
feishu-cli sheet read-plain <token> <sheet_id> "sheet!A1:C10" "sheet!E1:E5"
feishu-cli sheet read-plain <token> <sheet_id> "sheet!A1:C10" "sheet!E1:E5"
获取富文本内容(返回结构化数据)
获取富文本内容(返回结构化数据)
feishu-cli sheet read-rich <token> <sheet_id> "sheet!A1:C10" -o json
feishu-cli sheet read-rich <token> <sheet_id> "sheet!A1:C10" -o json
指定渲染选项
指定渲染选项
feishu-cli sheet read-rich <token> <sheet_id> "sheet!A1:C10"
--datetime-render formatted_string
--value-render formatted_value
--datetime-render formatted_string
--value-render formatted_value
undefinedfeishu-cli sheet read-rich <token> <sheet_id> "sheet!A1:C10"
--datetime-render formatted_string
--value-render formatted_value
--datetime-render formatted_string
--value-render formatted_value
undefined写入数据
写入数据
bash
undefinedbash
undefined简单模式(二维数组自动转换)
简单模式(二维数组自动转换)
feishu-cli sheet insert <token> <sheet_id> "sheet!A2:B2"
--data '[["新数据1","新数据2"]]' --simple
--data '[["新数据1","新数据2"]]' --simple
feishu-cli sheet insert <token> <sheet_id> "sheet!A2:B2"
--data '[["新数据1","新数据2"]]' --simple
--data '[["新数据1","新数据2"]]' --simple
富文本模式(从 JSON 文件)
富文本模式(从 JSON 文件)
feishu-cli sheet write-rich <token> <sheet_id> --data-file data.json
feishu-cli sheet write-rich <token> <sheet_id> --data-file data.json
追加富文本
追加富文本
feishu-cli sheet append-rich <token> <sheet_id> "sheet!A1:B1"
--data '[["追加数据"]]' --simple
--data '[["追加数据"]]' --simple
undefinedfeishu-cli sheet append-rich <token> <sheet_id> "sheet!A1:B1"
--data '[["追加数据"]]' --simple
--data '[["追加数据"]]' --simple
undefined清除内容
清除内容
bash
undefinedbash
undefined清除单元格内容(保留样式)
清除单元格内容(保留样式)
feishu-cli sheet clear <token> <sheet_id> "sheet!A1:B3"
feishu-cli sheet clear <token> <sheet_id> "sheet!A1:B3"
清除多个范围(最多 10 个)
清除多个范围(最多 10 个)
feishu-cli sheet clear <token> <sheet_id> "sheet!A1:A10" "sheet!C1:C10"
undefinedfeishu-cli sheet clear <token> <sheet_id> "sheet!A1:A10" "sheet!C1:C10"
undefinedV3 富文本数据格式
V3 富文本数据格式
元素类型
元素类型
| 类型 | 说明 | 是否独占 |
|---|---|---|
| 文本(支持样式) | 否 |
| 数值 | 是 |
| 日期时间 | 是 |
| @用户 | 否 |
| @文档 | 否 |
| 图片 | 是 |
| 附件 | 否 |
| 链接 | 否 |
| 公式 | 是 |
| 提醒 | 是 |
| 类型 | 说明 | 是否独占 |
|---|---|---|
| 文本(支持样式) | 否 |
| 数值 | 是 |
| 日期时间 | 是 |
| @用户 | 否 |
| @文档 | 否 |
| 图片 | 是 |
| 附件 | 否 |
| 链接 | 否 |
| 公式 | 是 |
| 提醒 | 是 |
数据格式示例
数据格式示例
write-rich 的 value_ranges 格式:
json
[
{
"range": "Sheet1!A1:B2",
"values": [
[
[{"type": "text", "text": {"text": "标题"}}],
[{"type": "value", "value": {"value": "100"}}]
],
[
[{"type": "text", "text": {"text": "内容", "segment_style": {"style": {"bold": true, "fore_color": "#FF0000"}}}}],
[{"type": "formula", "formula": {"formula": "=SUM(A1:A10)"}}]
]
]
}
]insert/append-rich 的 values 格式:
json
[
[
[{"type": "text", "text": {"text": "A1"}}],
[{"type": "value", "value": {"value": "123"}}]
],
[
[{"type": "mention_user", "mention_user": {"user_id": "ou_xxx", "notify": true}}],
[{"type": "link", "link": {"text": "点击", "link": "https://example.com"}}]
]
]write-rich 的 value_ranges 格式:
json
[
{
"range": "Sheet1!A1:B2",
"values": [
[
[{"type": "text", "text": {"text": "标题"}}],
[{"type": "value", "value": {"value": "100"}}]
],
[
[{"type": "text", "text": {"text": "内容", "segment_style": {"style": {"bold": true, "fore_color": "#FF0000"}}}}],
[{"type": "formula", "formula": {"formula": "=SUM(A1:A10)"}}]
]
]
}
]insert/append-rich 的 values 格式:
json
[
[
[{"type": "text", "text": {"text": "A1"}}],
[{"type": "value", "value": {"value": "123"}}]
],
[
[{"type": "mention_user", "mention_user": {"user_id": "ou_xxx", "notify": true}}],
[{"type": "link", "link": {"text": "点击", "link": "https://example.com"}}]
]
]文本样式
文本样式
json
{
"type": "text",
"text": {
"text": "带样式的文本",
"segment_style": {
"style": {
"bold": true,
"italic": true,
"strike_through": true,
"underline": true,
"fore_color": "#FF0000",
"font_size": 14
},
"affected_text": "带样式"
}
}
}json
{
"type": "text",
"text": {
"text": "带样式的文本",
"segment_style": {
"style": {
"bold": true,
"italic": true,
"strike_through": true,
"underline": true,
"fore_color": "#FF0000",
"font_size": 14
},
"affected_text": "带样式"
}
}
}行列操作
行列操作
bash
undefinedbash
undefined添加行/列
添加行/列
feishu-cli sheet add-rows <token> <sheet_id> -n 5
feishu-cli sheet add-cols <token> <sheet_id> -n 3
feishu-cli sheet add-rows <token> <sheet_id> -n 5
feishu-cli sheet add-cols <token> <sheet_id> -n 3
插入行
插入行
feishu-cli sheet insert-rows <token> <sheet_id> --start 2 --count 3
feishu-cli sheet insert-rows <token> <sheet_id> --start 2 --count 3
删除行/列
删除行/列
feishu-cli sheet delete-rows <token> <sheet_id> --start 0 --end 5
feishu-cli sheet delete-cols <token> <sheet_id> --start 0 --end 3
undefinedfeishu-cli sheet delete-rows <token> <sheet_id> --start 0 --end 5
feishu-cli sheet delete-cols <token> <sheet_id> --start 0 --end 3
undefined格式和样式
格式和样式
bash
undefinedbash
undefined合并/取消合并单元格
合并/取消合并单元格
feishu-cli sheet merge <token> "Sheet1!A1:C3"
feishu-cli sheet unmerge <token> "Sheet1!A1:C3"
feishu-cli sheet merge <token> "Sheet1!A1:C3"
feishu-cli sheet unmerge <token> "Sheet1!A1:C3"
设置样式
设置样式
feishu-cli sheet style <token> "Sheet1!A1:C3"
--bold --italic
--bg-color "#FFFF00"
--fore-color "#FF0000"
--bold --italic
--bg-color "#FFFF00"
--fore-color "#FF0000"
feishu-cli sheet style <token> "Sheet1!A1:C3"
--bold --italic
--bg-color "#FFFF00"
--fore-color "#FF0000"
--bold --italic
--bg-color "#FFFF00"
--fore-color "#FF0000"
查找内容
查找内容
feishu-cli sheet find <token> <sheet_id> "关键词"
feishu-cli sheet find <token> <sheet_id> "关键词"
替换内容
替换内容
feishu-cli sheet replace <token> <sheet_id> "旧值" "新值"
undefinedfeishu-cli sheet replace <token> <sheet_id> "旧值" "新值"
undefined工作表管理
工作表管理
bash
undefinedbash
undefined添加工作表
添加工作表
feishu-cli sheet add-sheet <token> --title "新工作表"
feishu-cli sheet add-sheet <token> --title "新工作表"
删除工作表
删除工作表
feishu-cli sheet delete-sheet <token> <sheet_id>
feishu-cli sheet delete-sheet <token> <sheet_id>
复制工作表
复制工作表
feishu-cli sheet copy-sheet <token> <sheet_id> --title "副本"
undefinedfeishu-cli sheet copy-sheet <token> <sheet_id> --title "副本"
undefinedAPI 限制
API 限制
| 限制项 | V2 API | V3 API |
|---|---|---|
| 单次写入单元格数 | 5000 | 5000 |
| 单元格字符数 | 50000 | 50000 |
| 单次范围数 | - | 10 |
| 单次图片数 | - | 50 |
| 单次 @文档数 | - | 10 |
| 单次提醒数 | - | 100 |
| 频率限制 | 100次/分钟 | 100次/分钟 |
| 限制项 | V2 API | V3 API |
|---|---|---|
| 单次写入单元格数 | 5000 | 5000 |
| 单元格字符数 | 50000 | 50000 |
| 单次范围数 | - | 10 |
| 单次图片数 | - | 50 |
| 单次 @文档数 | - | 10 |
| 单次提醒数 | - | 100 |
| 频率限制 | 100次/分钟 | 100次/分钟 |
错误处理
错误处理
常见错误
常见错误
| 错误 | 原因 | 解决 |
|---|---|---|
| 范围格式错误 | 使用 |
| 工作表不存在 | 先用 |
| 超出写入限制 | 分批写入,每次不超过 5000 单元格 |
| JSON 格式错误 | 检查 |
| 不支持的操作 | 参见已知问题 |
| API 限流 | 等待几秒后重试 |
| 错误 | 原因 | 解决 |
|---|---|---|
| 范围格式错误 | 使用 |
| 工作表不存在 | 先用 |
| 超出写入限制 | 分批写入,每次不超过 5000 单元格 |
| JSON 格式错误 | 检查 |
| 不支持的操作 | 参见已知问题 |
| API 限流 | 等待几秒后重试 |
最佳实践
最佳实践
- 简单数据用 V2 API:纯文本/数值使用 更简单
sheet read/write - 富文本用 V3 API:需要 @用户、公式等时使用
sheet read-rich/write-rich - 批量操作:V3 API 支持一次请求多个范围
- 使用 --simple 模式:和
insert支持append-rich简化输入--simple - 范围格式:始终使用 格式,避免歧义
SheetID!A1:B2
- 简单数据用 V2 API:纯文本/数值使用 更简单
sheet read/write - 富文本用 V3 API:需要 @用户、公式等时使用
sheet read-rich/write-rich - 批量操作:V3 API 支持一次请求多个范围
- 使用 --simple 模式:和
insert支持append-rich简化输入--simple - 范围格式:始终使用 格式,避免歧义
SheetID!A1:B2
单元格图片
单元格图片
向单元格插入图片:
bash
undefined向单元格插入图片:
bash
undefined向单元格插入图片
向单元格插入图片
feishu-cli sheet image <token> <sheet_id> "A1" --image-token <image_token>
图片需先通过 `feishu-cli media upload` 上传获取 `image_token`。feishu-cli sheet image <token> <sheet_id> "A1" --image-token <image_token>
图片需先通过 `feishu-cli media upload` 上传获取 `image_token`。工作表保护
工作表保护
设置工作表保护(限制编辑):
bash
undefined设置工作表保护(限制编辑):
bash
undefined保护工作表
保护工作表
feishu-cli sheet protect <token> <sheet_id> --lock-sheet
feishu-cli sheet protect <token> <sheet_id> --lock-sheet
保护特定范围
保护特定范围
feishu-cli sheet protect <token> <sheet_id> --ranges '[{"sheet_id":"sheet1","start_row":0,"end_row":10,"start_col":0,"end_col":5}]'
feishu-cli sheet protect <token> <sheet_id> --ranges '[{"sheet_id":"sheet1","start_row":0,"end_row":10,"start_col":0,"end_col":5}]'
取消保护
取消保护
feishu-cli sheet protect <token> <sheet_id> --unlock
undefinedfeishu-cli sheet protect <token> <sheet_id> --unlock
undefined已知问题
已知问题
| 问题 | 说明 | 状态 |
|---|---|---|
| 需要完整的 col + condition 参数,参数格式复杂 | API 限制 |
| V2 API 返回 | 待修复 |
| 问题 | 说明 | 状态 |
|---|---|---|
| 需要完整的 col + condition 参数,参数格式复杂 | API 限制 |
| V2 API 返回 | 待修复 |
权限要求
权限要求
- - 电子表格读写
sheets:spreadsheet
- - 电子表格读写
sheets:spreadsheet
V3 数据格式补充说明
V3 数据格式补充说明
V3 API 的数据为三层嵌套数组:。
行 → 列 → 单元格元素values[行索引][列索引] = [元素1, 元素2, ...] // 单元格内可包含多个元素示例:2 行 2 列的数据:
json
[
[ [{"type":"text","text":{"text":"A1"}}], [{"type":"text","text":{"text":"B1"}}] ],
[ [{"type":"text","text":{"text":"A2"}}], [{"type":"text","text":{"text":"B2"}}] ]
]V3 API 的数据为三层嵌套数组:。
行 → 列 → 单元格元素values[行索引][列索引] = [元素1, 元素2, ...] // 单元格内可包含多个元素示例:2 行 2 列的数据:
json
[
[ [{"type":"text","text":{"text":"A1"}}], [{"type":"text","text":{"text":"B1"}}] ],
[ [{"type":"text","text":{"text":"A2"}}], [{"type":"text","text":{"text":"B2"}}] ]
]