# Sheets Cell Style and Merge
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
这份 reference 汇总单元格样式和合并相关操作:
- `+set-style`
- `+batch-set-style`
- `+merge-cells`
- `+unmerge-cells`
## `+set-style`
对应命令:`lark-cli sheets +set-style`
对指定范围设置字体、颜色、对齐、边框等样式。
```bash
lark-cli sheets +set-style --spreadsheet-token "shtxxxxxxxx" \
--range "!A1:C3" \
--style '{"font":{"bold":true},"backColor":"#ff0000"}'
lark-cli sheets +set-style --spreadsheet-token "shtxxxxxxxx" \
--range "!A1:Z100" --style '{"clean":true}'
```
参数:
| 参数 | 必填 | 说明 |
|------|------|------|
| `--url` | 否 | 电子表格 URL(与 `--spreadsheet-token` 二选一) |
| `--spreadsheet-token` | 否 | 表格 token |
| `--range` | 是 | 单元格范围 |
| `--sheet-id` | 否 | 工作表 ID(用于相对范围) |
| `--style` | 是 | 样式 JSON 对象 |
| `--dry-run` | 否 | 仅打印请求,不执行 |
常用 `style` 字段:
- `font.bold`
- `font.italic`
- `font.font_size`
- `textDecoration`
- `formatter`
- `hAlign`
- `vAlign`
- `foreColor`
- `backColor`
- `borderType`
- `borderColor`
- `clean`
输出:`updates`(updatedRange / updatedRows / updatedColumns / updatedCells / revision)
## `+batch-set-style`
对应命令:`lark-cli sheets +batch-set-style`
对多个范围批量设置不同样式。
```bash
lark-cli sheets +batch-set-style --spreadsheet-token "shtxxxxxxxx" \
--data '[{"ranges":["!A1:C3"],"style":{"font":{"bold":true},"backColor":"#21d11f"}},{"ranges":["!D1:F3"],"style":{"foreColor":"#ff0000"}}]'
```
参数:
| 参数 | 必填 | 说明 |
|------|------|------|
| `--url` | 否 | 电子表格 URL(与 `--spreadsheet-token` 二选一) |
| `--spreadsheet-token` | 否 | 表格 token |
| `--data` | 是 | JSON 数组,每项包含 `ranges` 和 `style` |
| `--dry-run` | 否 | 仅打印请求,不执行 |
输出:
- `totalUpdatedRows`
- `totalUpdatedColumns`
- `totalUpdatedCells`
- `revision`
- `responses[]`
## `+merge-cells`
对应命令:`lark-cli sheets +merge-cells`
支持三种模式:
- `MERGE_ALL`
- `MERGE_ROWS`
- `MERGE_COLUMNS`
```bash
lark-cli sheets +merge-cells --spreadsheet-token "shtxxxxxxxx" \
--range "!A1:B2" --merge-type MERGE_ALL
```
参数:
| 参数 | 必填 | 说明 |
|------|------|------|
| `--url` | 否 | 电子表格 URL(与 `--spreadsheet-token` 二选一) |
| `--spreadsheet-token` | 否 | 表格 token |
| `--range` | 是 | 单元格范围 |
| `--sheet-id` | 否 | 工作表 ID(用于相对范围) |
| `--merge-type` | 是 | `MERGE_ALL` / `MERGE_ROWS` / `MERGE_COLUMNS` |
| `--dry-run` | 否 | 仅打印请求,不执行 |
输出:`spreadsheetToken`
## `+unmerge-cells`
对应命令:`lark-cli sheets +unmerge-cells`
用于拆分合并单元格。
```bash
lark-cli sheets +unmerge-cells --spreadsheet-token "shtxxxxxxxx" \
--range "!A1:B2"
```
参数:
| 参数 | 必填 | 说明 |
|------|------|------|
| `--url` | 否 | 电子表格 URL(与 `--spreadsheet-token` 二选一) |
| `--spreadsheet-token` | 否 | 表格 token |
| `--range` | 是 | 单元格范围 |
| `--sheet-id` | 否 | 工作表 ID(用于相对范围) |
| `--dry-run` | 否 | 仅打印请求,不执行 |
输出:`spreadsheetToken`
## 参考
- [cell-data](lark-sheets-cell-data.md) — 数据读写
- [cell-images](lark-sheets-cell-images.md) — 写入单元格图片