SkillHub

feishu-sheet

v1.2.0

飞书电子表格(Sheets)完整操作。当需要创建、读取或编辑飞书电子表格时激活此 skill。 支持:创建表格、读写单元格、追加数据、图片插入、样式设置、合并单元格、行列操作、查找替换。 需要飞书应用凭证:channels.feishu.appId 和 channels.feishu.appSecret(配置在 ~/.openclaw/openclaw.json 中)。 飞书应用需开通 sheets:spreadsheet 权限。建议使用仅含表格权限的最小化飞书应用。

Sourced from ClawHub, Authored by siyiding

Installation

Please help me install the skill `feishu-sheet` from SkillHub official store. npx skills add siyiding/feishu-sheet

飞书电子表格 Skill

通过 exec 调用 ~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh 脚本操作飞书电子表格。

前提条件

  1. 飞书应用凭证~/.openclaw/openclaw.json 中必须配置 channels.feishu,包含 appIdappSecret
  2. 飞书应用权限:应用需要开通「电子表格」相关权限(sheets:spreadsheet
  3. 系统依赖curlpython3bash

凭证自动从 openclaw.json 读取,无需手动配置。可通过 OPENCLAW_CONFIG 环境变量指定配置文件路径。

Token 提取

从 URL https://feishu.cn/sheets/shtcnABC123spreadsheet_token = shtcnABC123


📊 表格操作

创建电子表格

exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh create '表格标题'"

返回 spreadsheet_token 和 URL。可选第二参数 folder_token

获取元数据(必须先调这个拿 sheet_id)

exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh meta shtcnABC123"

📖 数据读写

读取数据

exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh read TOKEN 'sheetId!A1:C10'"

读取多个范围

exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh read_multi TOKEN 'sheetId!A1:C10' 'sheetId!E1:F5'"

写入数据(覆盖指定范围)

exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh write TOKEN 'sheetId!A1:C2' '[["表头1","表头2","表头3"],["数据1",100,true]]'"

values 是 JSON 二维数组。字符串用引号,数字和布尔值不用。

追加数据(在已有数据后面添加行)

exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh append TOKEN 'sheetId!A1:C1' '[["新行1","新行2","新行3"]]'"

前插数据

exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh prepend TOKEN 'sheetId!A1:C1' '[["插入行1","插入行2","插入行3"]]'"

🖼️ 图片操作

插入图片到单元格(本地文件)

exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh insert_image TOKEN 'sheetId!E1:E1' /path/to/image.png"

图片会填充到指定单元格内。Range 必须是单个单元格。

插入浮动图片(本地文件)

exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh float_image TOKEN sheetId /path/to/image.png 'sheetId!F1:F1' 400 300"

参数:token, sheet_id, 文件路径, 锚点单元格(可选), 宽度(可选), 高度(可选)

插入浮动图片(URL)

exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh float_image_url TOKEN sheetId 'https://example.com/image.png' 'sheetId!F1:F1' 400 300"

🎨 样式操作

设置单元格样式

exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh style TOKEN 'sheetId!A1:D1' '{"bold":true,"foreColor":"#FFFFFF","backColor":"#4472C4","fontSize":14}'"

支持的样式属性: - bold (bool) — 加粗 - italic (bool) — 斜体 - foreColor (string) — 字体颜色,如 #FF0000 - backColor (string) — 背景颜色,如 #FFFF00 - fontSize (int) — 字号,如 14 - horizontalAlign (int) — 水平对齐:0=左, 1=中, 2=右 - verticalAlign (int) — 垂直对齐:0=上, 1=中, 2=下 - textDecoration (int) — 0=无, 1=下划线, 2=删除线, 3=两者都有

批量设置样式

exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh style_batch TOKEN '{"data":[{"ranges":"sheetId!A1:D1","style":{"bold":true}},{"ranges":"sheetId!A2:D10","style":{"fontSize":12}}]}'"

🔗 合并单元格

合并

exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh merge TOKEN 'sheetId!A1:D1' MERGE_ALL"

合并类型:MERGE_ALL(全部合并)、MERGE_ROWS(按行合并)、MERGE_COLUMNS(按列合并)

拆分

exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh unmerge TOKEN 'sheetId!A1:D1'"

📄 工作表操作

# 添加工作表
exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh add_sheet TOKEN '工作表名称'"

# 删除工作表
exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh delete_sheet TOKEN sheetId"

# 复制工作表
exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh copy_sheet TOKEN sourceSheetId '副本名称'"

↕️ 行列操作

# 末尾加 10 行
exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh add_rows TOKEN sheetId 10"

# 末尾加 5 列
exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh add_cols TOKEN sheetId 5"

# 在第3行前插入到第5行(0-indexed)
exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh insert_rows TOKEN sheetId 3 5"

# 删除第3到第5行
exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh delete_rows TOKEN sheetId 3 5"

# 删除第2到第4列
exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh delete_cols TOKEN sheetId 2 4"

🔍 查找替换

# 查找
exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh find TOKEN sheetId '关键词'"

# 替换
exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh replace TOKEN sheetId '旧文本' '新文本'"

常见流程示例

创建带格式的报表

# 1. 创建表格
exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh create '月度报表'"
# → 得到 spreadsheet_token

# 2. 获取 sheet_id
exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh meta TOKEN"
# → 得到 sheet_id

# 3. 写入表头
exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh write TOKEN 'sheetId!A1:D1' '[["项目","负责人","进度","备注"]]'"

# 4. 设置表头样式(加粗+蓝底白字)
exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh style TOKEN 'sheetId!A1:D1' '{"bold":true,"backColor":"#4472C4","foreColor":"#FFFFFF","fontSize":13}'"

# 5. 写入数据
exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh write TOKEN 'sheetId!A2:D4' '[["功能A","张三","80%","进行中"],["功能B","李四","100%","已完成"],["功能C","王五","30%","延期"]]'"

# 6. 插入图片
exec command="~/.openclaw/skills/feishu-sheet/scripts/feishu-sheet.sh float_image_url TOKEN sheetId 'https://example.com/chart.png' 'sheetId!F1:F1' 500 300"

注意事项

  • Range 格式:必须带 sheetId 前缀,用 meta 命令获取
  • 单元格图片insert_image 的 range 必须是单个单元格(如 A1:A1
  • 浮动图片:支持本地文件和 URL,会自动上传到飞书
  • values 格式:JSON 二维数组,注意 shell 中引号转义
  • 权限:表格需要对机器人开放编辑权限,或由机器人创建
  • 凭证:自动从 ~/.openclaw/openclaw.jsonchannels.feishu 读取,无需手动配置