---
id: daily-lark-sheets
name: "lark-sheets"
url: https://skills.yangsir.net/skill/daily-lark-sheets
author: larksuite
domain: ai-productivity-automation
tags: ["data-analysis", "spreadsheet-automation", "api-integration"]
install_count: 154900
rating: 4.80 (20 reviews)
github: https://github.com/larksuite/cli
---

# lark-sheets

> 操作飞书电子表格，支持数据查询、编辑和格式化，AI Agent Skill，提升工作效率和自动化能力

**Stats**: 154,900 installs · 4.8/5 (20 reviews)

## Before / After 对比

### 飞书表格操作

**Before**:

手动打开电子表格、定位单元格、复制粘贴数据，批量操作时容易出错且效率低下

**After**:

直接通过命令查询和编辑表格数据，支持批量更新和格式化，自动处理数据类型和公式

| Metric | Before | After | Change |
|---|---|---|---|
| 操作时间 | 45分钟 | 5分钟 | -89% |

## Readme

# lark-sheets

# sheets (v3)

**CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../lark-shared/SKILL.md`](https://github.com/larksuite/cli/blob/HEAD/skills/lark-sheets/../lark-shared/SKILL.md)，其中包含认证、权限处理**

## 快速决策

- 按标题或关键词找云空间里的表格文件，先用 `lark-cli docs +search`。

- `docs +search` 会直接返回 `SHEET` 结果，不要把它误解成只能搜文档 / Wiki。

- 已知 spreadsheet URL / token 后，再进入 `sheets +info`、`sheets +read`、`sheets +find` 等对象内部操作。

## 核心概念

### 文档类型与 Token

飞书开放平台中，不同类型的文档有不同的 URL 格式和 Token 处理方式。在进行文档操作（如添加评论、下载文件等）时，必须先获取正确的 `file_token`。

### 文档 URL 格式与 Token 处理

URL 格式
示例
Token 类型
处理方式

`/docx/`
`https://example.larksuite.com/docx/doxcnxxxxxxxxx`
`file_token`
URL 路径中的 token 直接作为 `file_token` 使用

`/doc/`
`https://example.larksuite.com/doc/doccnxxxxxxxxx`
`file_token`
URL 路径中的 token 直接作为 `file_token` 使用

`/wiki/`
`https://example.larksuite.com/wiki/wikcnxxxxxxxxx`
`wiki_token`
⚠️ **不能直接使用**，需要先查询获取真实的 `obj_token`

`/sheets/`
`https://example.larksuite.com/sheets/shtcnxxxxxxxxx`
`file_token`
URL 路径中的 token 直接作为 `file_token` 使用

`/drive/folder/`
`https://example.larksuite.com/drive/folder/fldcnxxxx`
`folder_token`
URL 路径中的 token 作为文件夹 token 使用

### Wiki 链接特殊处理（关键！）

知识库链接（`/wiki/TOKEN`）背后可能是云文档、电子表格、多维表格等不同类型的文档。**不能直接假设 URL 中的 token 就是 file_token**，必须先查询实际类型和真实 token。

#### 处理流程

- 

**使用 `wiki.spaces.get_node` 查询节点信息**

```
lark-cli wiki spaces get_node --params '{"token":"wiki_token"}'

```

- 

**从返回结果中提取关键信息**

`node.obj_type`：文档类型（docx/doc/sheet/bitable/slides/file/mindnote）

- `node.obj_token`：**真实的文档 token**（用于后续操作）

- `node.title`：文档标题

- 

**根据 `obj_type` 使用对应的 API**

obj_type
说明
使用的 API

`docx`
新版云文档
`drive file.comments.*`、`docx.*`

`doc`
旧版云文档
`drive file.comments.*`

`sheet`
电子表格
`sheets.*`

`bitable`
多维表格
`bitable.*`

`slides`
幻灯片
`drive.*`

`file`
文件
`drive.*`

`mindnote`
思维导图
`drive.*`

#### 查询示例

```
# 查询 wiki 节点
lark-cli wiki spaces get_node --params '{"token":"wiki_token"}'

```

返回结果示例：

```
{
   "node": {
      "obj_type": "docx",
      "obj_token": "xxxx",
      "title": "标题",
      "node_type": "origin",
      "space_id": "12345678910"
   }
}

```

### 资源关系

```
Wiki Space (知识空间)
└── Wiki Node (知识库节点)
    ├── obj_type: docx (新版文档)
    │   └── obj_token (真实文档 token)
    ├── obj_type: doc (旧版文档)
    │   └── obj_token (真实文档 token)
    ├── obj_type: sheet (电子表格)
    │   └── obj_token (真实文档 token)
    ├── obj_type: bitable (多维表格)
    │   └── obj_token (真实文档 token)
    └── obj_type: file/slides/mindnote
        └── obj_token (真实文档 token)

Drive Folder (云空间文件夹)
└── File (文件/文档)
    └── file_token (直接使用)

```

**操作流程（重要）：**

- 

**create** — 创建筛选

用于首次创建筛选

- ⚠️ range 必须覆盖所有需要筛选的列（如 B1:E200）

- 如果已有筛选存在，再用 create 会覆盖整个筛选

- 

**update** — 更新筛选

用于在已有筛选上添加/更新指定列的条件

- 只需指定 col 和 condition，不需要 range

- 

**delete** — 删除筛选

- 

**get** — 获取筛选状态

**多列筛选示例：**

创建媒体名称(B列)和情感分析(E列)的双重筛选：

```
# 1. 删除现有筛选（如有）
lark-cli sheets spreadsheet.sheet.filters delete \
  --params '{"spreadsheet_token":"<spreadsheet_token>","sheet_id":"<sheet_id>"}'

# 2. 创建第一个筛选，range 覆盖所有要筛选的列
lark-cli sheets spreadsheet.sheet.filters create \
  --params '{"spreadsheet_token":"<spreadsheet_token>","sheet_id":"<sheet_id>"}' \
  --data '{"col":"B","condition":{"expected":["xx"],"filter_type":"multiValue"},"range":"<sheet_id>!B1:E200"}'

# 3. 添加第二个筛选条件
lark-cli sheets spreadsheet.sheet.filters update \
  --params '{"spreadsheet_token":"<spreadsheet_token>","sheet_id":"<sheet_id>"}' \
  --data '{"col":"E","condition":{"expected":["xx"],"filter_type":"multiValue"}}'

```

**常见错误：**

- `Wrong Filter Value`：筛选已存在，需要先 delete 再 create

- `Excess Limit`：update 时重复添加同一列条件

## Shortcuts（推荐优先使用）

Shortcut 是对常用操作的高级封装（`lark-cli sheets +<verb> [flags]`）。有 Shortcut 的操作优先使用。

Shortcut
说明

[`+info`](https://github.com/larksuite/cli/blob/HEAD/skills/lark-sheets/references/lark-sheets-info.md)
View spreadsheet and sheet information

[`+read`](https://github.com/larksuite/cli/blob/HEAD/skills/lark-sheets/references/lark-sheets-read.md)
Read spreadsheet cell values

[`+write`](https://github.com/larksuite/cli/blob/HEAD/skills/lark-sheets/references/lark-sheets-write.md)
Write to spreadsheet cells (overwrite mode)

[`+append`](https://github.com/larksuite/cli/blob/HEAD/skills/lark-sheets/references/lark-sheets-append.md)
Append rows to a spreadsheet

[`+find`](https://github.com/larksuite/cli/blob/HEAD/skills/lark-sheets/references/lark-sheets-find.md)
Find cells in a spreadsheet

[`+create`](https://github.com/larksuite/cli/blob/HEAD/skills/lark-sheets/references/lark-sheets-create.md)
Create a spreadsheet (optional header row and initial data)

[`+export`](https://github.com/larksuite/cli/blob/HEAD/skills/lark-sheets/references/lark-sheets-export.md)
Export a spreadsheet (async task polling + optional download)

## API Resources

```
lark-cli schema sheets.<resource>.<method>   # 调用 API 前必须先查看参数结构
lark-cli sheets <resource> <method> [flags] # 调用 API

```

**重要**：使用原生 API 时，必须先运行 `schema` 查看 `--data` / `--params` 参数结构，不要猜测字段格式。

### spreadsheets

- `create` — 创建电子表格

- `get` — 获取电子表格信息

- `patch` — 修改电子表格属性

### spreadsheet.sheet.filters

- `create` — 创建筛选

- `delete` — 删除筛选

- `get` — 获取筛选

- `update` — 更新筛选

### spreadsheet.sheets

- `find` — 查找单元格

## 权限表

方法
所需 scope

`spreadsheets.create`
`sheets:spreadsheet:create`

`spreadsheets.get`
`sheets:spreadsheet.meta:read`

`spreadsheets.patch`
`sheets:spreadsheet.meta:write_only`

`spreadsheet.sheet.filters.create`
`sheets:spreadsheet:write_only`

`spreadsheet.sheet.filters.delete`
`sheets:spreadsheet:write_only`

`spreadsheet.sheet.filters.get`
`sheets:spreadsheet:read`

`spreadsheet.sheet.filters.update`
`sheets:spreadsheet:write_only`

`spreadsheet.sheets.find`
`sheets:spreadsheet:read`

Weekly Installs3.6KRepository[larksuite/cli](https://github.com/larksuite/cli)GitHub Stars1First SeenTodaySecurity Audits[Gen Agent Trust HubPass](/larksuite/cli/lark-sheets/security/agent-trust-hub)[SocketWarn](/larksuite/cli/lark-sheets/security/socket)[SnykFail](/larksuite/cli/lark-sheets/security/snyk)Installed oncodex3.6Kopencode3.6Kgithub-copilot3.6Kcursor3.6Kgemini-cli3.6Kcline3.6K

---
*Source: https://skills.yangsir.net/skill/daily-lark-sheets*
*Markdown mirror: https://skills.yangsir.net/api/skill/daily-lark-sheets/markdown*