Files

26 KiB
Raw Permalink Blame History

Lark Sheet Workbook

Sheet 结构变更保守化(编辑类任务必做)

+sheet-{create|delete|rename|move|copy|hide|unhide|set-tab-color} 会改变原表的物理结构,是高副作用动作。执行前必须遵守:

  1. 删除 / 重命名 / 隐藏 / 移动原 Sheet 需用户明示:除非用户明示要这些操作,禁止擅自对已存在的 Sheet 执行 delete / rename / hide / move。新建 Sheet 是允许的(用于承载中间结果或透视表 / 图表对象),但应优先在原表右侧加列;只有当中间结果数量较大或会与原数据混淆时,才新建空白 Sheet同 R1
  2. Sheet 级操作前先列清单:调用 +sheet-{create|delete|rename|move|copy|hide|unhide|set-tab-color} 之前,必须先调用 +workbook-info,把"当前所有 Sheet 名 + 可见性 + 行列数"列出来,再决定是否操作。禁止跳过列清单直接 create / delete / rename。
  3. 删除 / 重命名前向用户确认:删除是不可逆的,重命名会让其他公式 / 透视表 / 图表的数据源失效——执行前必须在回复里确认"将删除 / 改名 X影响 Y 个引用"。

使用场景

读写。管理工作簿结构。本 reference 覆盖 14 个 shortcut

操作需求 使用工具 说明
查看工作簿结构 +workbook-info 获取子表列表、名称、行列数、冻结位置等元数据
获取当前 revision +revision-get 获取当前文档 revision版本号可作为 recover / undo / changeset 复核的版本锚点
新建工作簿(可预填数据) +workbook-create 从内存数据建一张新表(--values / --sheets typed
导入本地文件为新表 +workbook-import 把本地 .xlsx / .xls / .csv 导入为新的飞书电子表格
导出工作簿到本地 +workbook-export 导出为本地 .xlsx(整簿)或单子表 .csv
变更工作簿结构 `+sheet-{create delete
切换子表网格线显隐 +sheet-show-gridline / +sheet-hide-gridline 显示 / 隐藏单个子表的网格线

注意:

  • 如果用户请求包含多个动作,例如"先重命名,再新建工作表",请按顺序发起多次调用,覆盖全部动作
  • create 时若用户指定了工作表名称,应显式传入 sheet_name;不要省略后依赖默认命名
  • +workbook-info 返回包含 warning_message,说明部分 sheet_id 已失效(被删除/改名或输入错误),应停止复用这些 id重新不带 sheet_ids 全量获取结构后再继续操作

常见配置错误(必须注意)

  • 获取结构是第一步:任何表格操作前必须先调用 +workbook-info,不要跳过直接操作。返回的行列数、子表列表是后续所有操作的基础
  • sheet_id 不要写错:从 +workbook-info 返回值中精确获取 sheet_id,不要手动拼写或从 URL 中猜测
  • 优先使用 sheet_id:虽然飞书表格不允许子表重名,但 sheet_id 是稳定标识符,跨多轮操作时不会因用户中途重命名而失效

Shortcuts

Shortcut Risk 分组
+workbook-info read 工作簿
+revision-get read 工作簿
+sheet-create write 工作簿
+sheet-delete high-risk-write 工作簿
+sheet-rename write 工作簿
+sheet-move write 工作簿
+sheet-copy write 工作簿
+sheet-hide write 工作簿
+sheet-unhide write 工作簿
+sheet-set-tab-color write 工作簿
+sheet-hide-gridline write 工作簿
+sheet-show-gridline write 工作簿
+workbook-create write 工作簿
+workbook-export read 工作簿
+workbook-import write 工作簿

Flags

+workbook-info

公共URL/token无 sheet 定位) · 系统:--dry-run

仅含公共 / 系统 flag。

+revision-get

公共URL/token无 sheet 定位) · 系统:--dry-run

仅含公共 / 系统 flag。

+sheet-create

公共URL/token无 sheet 定位) · 系统:--dry-run

Flag Type 必填 说明
--title string required 新工作表名称
--index int optional 插入位置0-based省略时附加到末尾
--row-count int optional 初始行数(默认 200上限 50000
--col-count int optional 初始列数(默认 20上限 200
--type string optional 新子表类型sheet电子表格默认 sheet可选值sheet

+sheet-delete

公共四件套 · 系统:--yes--dry-run

仅含公共 / 系统 flag。

+sheet-rename

公共四件套 · 系统:--dry-run

Flag Type 必填 说明
--title string required 新名称

+sheet-move

公共四件套 · 系统:--dry-run

Flag Type 必填 说明
--index int required 目标位置0-based
--source-index int optional 源位置0-basedstandalone 调用时可选,未传时由 CLI runtime 根据 --sheet-id / --sheet-name 当前在工作簿中的 index 自动派生。但在 +batch-update 内不可省须显式传——batch 中途无法发起结构查询自动派生

+sheet-copy

公共四件套 · 系统:--dry-run

Flag Type 必填 说明
--title string optional 副本名称;省略时由服务端生成
--index int optional 副本插入位置0-based省略时附加到末尾

+sheet-hide

公共四件套 · 系统:--dry-run

仅含公共 / 系统 flag。

+sheet-unhide

公共四件套 · 系统:--dry-run

仅含公共 / 系统 flag。

+sheet-set-tab-color

公共四件套 · 系统:--dry-run

Flag Type 必填 说明
--color string required Hex 色值如 #FF0000,传空 "" 清除

+sheet-hide-gridline

公共四件套 · 系统:--dry-run

仅含公共 / 系统 flag。

+sheet-show-gridline

公共四件套 · 系统:--dry-run

仅含公共 / 系统 flag。

+workbook-create

系统:--dry-run

Flag Type 必填 说明
--title string required 新 spreadsheet 标题
--folder-token string optional 目标文件夹 token省略时放在云空间根目录
--values string + File + Stdin简单 JSON optional untyped 初始数据,一个 JSON 二维数组(表头并入第一行):[["列A","列B"],["alice",95]];值原样写入、类型由飞书自动识别(日期 / 数字会落成文本,需类型保真改用 --sheets走与 --sheets 相同的分批 +cells-set;配 --styles 控制格式/颜色/合并/行列尺寸
--sheets string + File + Stdin复合 JSON optional 建表后写入的 typed 表格协议 JSON同 +table-put顶层 {"sheets":[...]},每个数组项是一张子表 {name, start_cell?, mode?, header?, allow_overwrite?, columns:["colA","colB",...], data:[[...]], dtypes?:{colA:pandasDtype, ...}, formats?:{colA:numberFormat, ...}} —— name 与外层 sheets 数组都不可省。Agents 用 scripts/sheets_df.pydf_to_sheet(df, name) 把 DataFrame 转成一项再包 {"sheets":[...]}。与 --values 互斥;新表默认子表复用为第一个子表,日期/数字类型保真。
--styles string + File + Stdin复合 JSON optional 建表时同时写入的视觉处理操作 JSON顶层 {styles:[...]},每项对应一个目标子表、含 name,并至少给 cell_styles / row_sizes / col_sizes / cell_merges 之一。cell_styles 用 A1 单元格 range + 扁平样式字段(字段同 +cells-set-style含 number_format / 颜色 / 对齐 / border_stylesrow/col sizes 用行/列范围 + type/sizemerges 用单元格 range + 可选 merge_type。与 --sheets 搭配时 styles 数组长度/顺序/name 必须与 --sheets.sheets 对应;与 --values 搭配时只给一个 styles 项(其 name 忽略)。完整 cell_styles 字段结构跑 +workbook-create --print-schema --flag-name styles

+workbook-export

公共URL/token无 sheet 定位) · 系统:--dry-run

Flag Type 必填 说明
--file-extension string optional 导出文件格式;csv 模式必须配 --sheet-id(可选值:xlsx / csv)(默认 xlsx
--sheet-id string optional 仅 csv 模式必填:指定要导出哪张 sheet 为 CSV。这是 +workbook-export 专有 flag与公共四件套的 sheet 定位无关(本 shortcut 不接受公共 sheet 定位)
--output-path string optional 本地保存路径;省略时只触发并轮询导出任务、不下载文件(返回 file_token / status便于稍后续传。要落盘传具体路径./out.xlsx)或目录(如 .,服务端给的文件名落在该目录下)。注意:对应的 lark-cli drive +export --doc-type sheet--output-dir / --file-name / --overwrite 三 flag 且默认下载到当前目录——本 wrapper 把它们合成单一 --output-path 简化常见用例,但默认不下载,需要的话也可改用 drive +export

+workbook-import

Flag Type 必填 说明
--file string required 本地文件路径(.xlsx / .xls / .csv
--folder-token string optional 目标文件夹 token省略则导入到云空间根目录
--name string optional 导入后表格名称;省略则用本地文件名(去掉扩展名)

Schemas

复合 JSON flag 字段速查(只列顶层 + 一层嵌套)。深层结构看下方 ## Examples,或用 --print-schema 读完整 JSON Schema用法见 SKILL.md「公共 flag 速查」与「Agent 使用提示」)。

+workbook-create --sheets

一个或多个子表的 typed 数据,每个数组元素写入一张子表;支持多 DataFrame → 多子表一次写入

数组项(类型 object

  • name (string) — 目标子表名
  • start_cell (string?) — 写入起点单元格A1 记法,如 "B2"),默认 "A1"
  • mode (enum?) — overwrite默认从 start_cell 起写「表头 + 数据」块append把数据追加到子表已有数据下方默认不重复表头 [overwrite / append]
  • header (boolean?) — 是否写一行列名表头
  • allow_overwrite (boolean?) — 为 false 时,若写入会落在非空单元格则拒写以保护原数据(返回 partial_success
  • columns (array) — 列名字符串数组,顺序与 data 中每行取值一一对应
  • data (array<array<string|number|boolean|null>>) — 数据行;每行是一个数组,长度必须等于 columns
  • dtypes (object?) — 可选
  • formats (object?) — 可选

+workbook-create --styles

数组项(类型 object

  • cell_merges (array