@wecom/wecom-openclaw-plugin 2026.9.15 → 2026.10.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/skills/wecomcli-sheet/SKILL.md +64 -107
- package/skills/wecomcli-sheet/references/sheet-conditional-formatting.md +211 -0
- package/skills/wecomcli-sheet/references/sheet-filter.md +187 -0
- package/skills/wecomcli-sheet/references/sheet-float-image.md +248 -0
- package/skills/wecomcli-sheet/references/sheet-formulas.md +73 -0
- package/skills/wecomcli-sheet/references/sheet-history.md +125 -0
- package/skills/wecomcli-sheet/references/sheet-protection.md +180 -0
- package/skills/wecomcli-sheet/references/sheet-range-operations.md +323 -0
- package/skills/wecomcli-sheet/references/sheet-read-data.md +153 -0
- package/skills/wecomcli-sheet/references/sheet-search-replace.md +111 -0
- package/skills/wecomcli-sheet/references/sheet-structure-operations.md +416 -0
- package/skills/wecomcli-sheet/references/sheet-style.md +246 -0
- package/skills/wecomcli-sheet/references/sheet-validation.md +243 -0
- package/skills/wecomcli-sheet/references/sheet-workbook.md +271 -0
- package/skills/wecomcli-sheet/references/sheet-write-cells.md +332 -0
- package/skills/wecomcli-sheet/references/xlsx-process.md +328 -0
- package/skills/wecomcli-sheet/scripts/collect.py +868 -0
- package/skills/wecomcli-sheet/scripts/recalc.py +403 -0
- package/skills/wecomcli-sheet/references/sheet-contents-update.md +0 -49
- package/skills/wecomcli-sheet/references/sheet-ranges-get.md +0 -47
- package/skills/wecomcli-sheet/references/sheet-rows-append.md +0 -47
- package/skills/wecomcli-sheet/references/sheet-subsheets-add.md +0 -28
- package/skills/wecomcli-sheet/references/sheet-subsheets-delete.md +0 -22
|
@@ -0,0 +1,416 @@
|
|
|
1
|
+
# 子表结构与布局操作
|
|
2
|
+
|
|
3
|
+
读取和调整**在线表格某个子表**的整行整列结构、行高列宽和合并单元格。查看工作簿及子表范围请先读 `sheet-workbook.md`;本文覆盖以下结构与布局操作:
|
|
4
|
+
|
|
5
|
+
| 命令 | 风险 | 用途 |
|
|
6
|
+
|------------------------------|---|---|
|
|
7
|
+
| `wecom-cli sheet info get` | 只读 | 读取指定子表的合并范围、行高、列宽 |
|
|
8
|
+
| `wecom-cli sheet dims insert` | 结构写入 | 插入整行或整列 |
|
|
9
|
+
| `wecom-cli sheet dims delete` | 高风险写入 | 删除整行或整列 |
|
|
10
|
+
| `wecom-cli sheet dims move` | 高风险写入 | 移动连续整行或整列 |
|
|
11
|
+
| `wecom-cli sheet dims visible` | 结构写入 | 显示或隐藏连续整行或整列 |
|
|
12
|
+
| `wecom-cli sheet dims resize` | 结构写入 | 调整行高或列宽 |
|
|
13
|
+
| `wecom-cli sheet merge set` | 结构写入 | 合并单元格 |
|
|
14
|
+
| `wecom-cli sheet merge clear` | 高风险写入 | 取消合并 |
|
|
15
|
+
| `wecom-cli sheet merge get` | 只读 | 查询合并范围 |
|
|
16
|
+
|
|
17
|
+
## 通用规则
|
|
18
|
+
|
|
19
|
+
- `docid` 用于定位在线表格;`sheet` 接受子表 ID 或名称,优先按 ID 精确匹配,未命中再按名称匹配。
|
|
20
|
+
- `range`、合并范围等区域参数只写纯 A1 表达式,不得包含子表名。
|
|
21
|
+
- 整行范围写成 `3:7`,整列范围写成 `C:F`;行位置使用 1-based 数字,列位置使用列字母。
|
|
22
|
+
- 结构性写入、高风险写入应先传 `"dry_run":true` 预览影响,确认后再正式执行。
|
|
23
|
+
|
|
24
|
+
## 结构变更前预检
|
|
25
|
+
|
|
26
|
+
插入、删除或移动行列会改变原有坐标和引用关系。执行前按影响范围检查以下内容:
|
|
27
|
+
|
|
28
|
+
1. **检查合并区域**:调用本文件的 `sheet info get` 或 `sheet merge get`,确认目标范围及其相邻区域是否存在合并单元格。
|
|
29
|
+
2. **检查引用影响**:结构变更可能使公式、图表、透视表、条件格式或筛选器的数据源范围发生偏移。若任务涉及这些对象,应先通过对应读取接口检查其引用范围;当前无法完整枚举所有引用时,应明确提示存在潜在影响,不得编造引用数量。
|
|
30
|
+
3. **先预览再执行**:删除、移动等高风险写入先传 `"dry_run":true`,核对目标范围后再正式执行。
|
|
31
|
+
|
|
32
|
+
## 批量结构操作的串行与索引规则
|
|
33
|
+
|
|
34
|
+
当一个用户请求包含多个独立的行列插入、删除或移动操作时,这些操作可能改变后续目标的行号、列号或引用关系,必须按以下规则执行:
|
|
35
|
+
|
|
36
|
+
1. **直接调用时每轮只执行一个结构变更 CLI**:模型直接调用 CLI 时,一次响应中最多调用一个 `sheet dims insert`、`sheet dims delete` 或 `sheet dims move`。禁止在同一轮并发调用多个结构变更 CLI;取得当前调用结果后,下一轮才能继续处理剩余目标。
|
|
37
|
+
2. **插入、删除按索引从大到小执行**:多个行目标按行号从大到小执行,多个列目标按列序从右到左执行。先处理较大索引,避免前面的操作改变剩余较小目标的原始位置。
|
|
38
|
+
3. **连续目标优先合并**:多个相邻行或列应尽量合并为一个连续范围,或使用一次带 `count` 的插入调用;不连续目标才拆成多个串行调用。不得为了减少调用而合并不相邻目标,否则会误处理目标之间的行列。
|
|
39
|
+
4. **每次执行后使用最新结构**:不得让多个调用继续使用操作前缓存的坐标。若前一次操作可能影响剩余目标,应根据返回结果或重新读取的子表范围,校验下一次调用的位置。
|
|
40
|
+
5. **移动操作不得只套用倒序规则**:多个 `dims move` 必须逐个执行,并在每次移动后重新计算剩余操作的源范围和目标位置;源范围、目标位置或中间区域存在重叠时,不得直接连续执行。
|
|
41
|
+
|
|
42
|
+
### 目标较多时使用 Python 串行调用
|
|
43
|
+
|
|
44
|
+
当独立的插入或删除目标较多、逐轮直接调用效率过低时,可以针对当前任务临时生成 Python 脚本批量调用 CLI。Python 只用于串行编排,不改变以上索引规则:
|
|
45
|
+
|
|
46
|
+
- 先合并相邻目标,再将行目标按行号从大到小、列目标按列序从右到左排序。
|
|
47
|
+
- 逐个同步调用 CLI;等待当前调用结束并检查退出状态与返回结果后,才能执行下一个。禁止使用线程池、进程池、`asyncio`、后台进程或其他并发方式。
|
|
48
|
+
- 任意一步失败时立即停止,明确列出已完成、失败和未执行的目标;不得自动重试写操作,也不得从头重跑完整列表。继续处理前,先按最新子表结构重新生成剩余计划。
|
|
49
|
+
- Python 批量串行只适用于可按倒序稳定处理的独立 `dims insert` / `dims delete` 目标。`dims move` 仍须逐步执行,并在每次移动后重新定位,不得按初始坐标写入循环批量执行。
|
|
50
|
+
|
|
51
|
+
示例:删除原始第 3、8、12 行时,按 `12:12` → `8:8` → `3:3` 分轮串行执行;目标较多时也只能由 Python 按该顺序逐个同步调用,不得并发提交。
|
|
52
|
+
|
|
53
|
+
反例:先删除 `3:3`,再按原始索引删除 `8:8`。第 3 行删除后,原第 8 行已变为第 7 行,后续操作会删除错误行。
|
|
54
|
+
|
|
55
|
+
## 定位语法速查
|
|
56
|
+
|
|
57
|
+
| 操作 | 定位字段 | 正确示例 | 常见错误 |
|
|
58
|
+
|---|---|---|-----------------------|
|
|
59
|
+
| 插入行列 | `position` + `count` | `{"position":"3","count":2}` / `{"position":"C","count":2}` | 把列字母换算成 0-based 数字 |
|
|
60
|
+
| 删除行列 | `range` | `"3:7"` / `"C:F"` | 使用局部区域 `"A3:F7"` |
|
|
61
|
+
| 移动行列 | `range` + `position` | `{"range":"3:7","position":"12"}` | 行范围搭配列目标,如 `"position":"H"` |
|
|
62
|
+
| 显示/隐藏行列 | `range` | `"3:7"` / `"C:F"` | 使用局部区域 `"A3:F7"` |
|
|
63
|
+
| 调整尺寸 | `range` | `{"range":"C:E"}` | 行 `range` 用 `col_width` 等维度错配 |
|
|
64
|
+
| 合并操作 | `range` | `"A1:B2"` | 在范围中嵌入子表名 |
|
|
65
|
+
|
|
66
|
+
## 获取子表布局信息
|
|
67
|
+
|
|
68
|
+
读取指定子表的合并范围、行高、列宽。该接口只返回布局和结构元信息,不读取单元格值;要读取表头、样本、公式或样式,请使用 `sheet-read-data.md` 中的 `cells get`。
|
|
69
|
+
|
|
70
|
+
### 命令
|
|
71
|
+
|
|
72
|
+
使用 wecom-cli 工具按照下面格式调用
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
wecom-cli sheet info get --json '<JSON 参数>'
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### 参数
|
|
79
|
+
|
|
80
|
+
| 字段 | 类型 | 必填 | 默认值 | 语义 |
|
|
81
|
+
|---|---|---|---|---|
|
|
82
|
+
| `docid` | string | 是 | — | 在线表格 ID 或 URL |
|
|
83
|
+
| `sheet` | string | 是 | — | 子表 ID 或名称 |
|
|
84
|
+
| `range` | string | 否 | 整张子表 | 限定查询范围,纯 A1,如 `A1:F200` |
|
|
85
|
+
| `include` | string[] | 否 | 全部已支持项 | 返回维度:`merges`(合并单元格) / `row_heights`(行高) / `col_widths`(列宽)。缺省返回全部已支持项 |
|
|
86
|
+
|
|
87
|
+
### 返回
|
|
88
|
+
|
|
89
|
+
| 字段 | 类型 | 说明 |
|
|
90
|
+
|---|---|---|
|
|
91
|
+
| `merges` | string[] | 合并范围列表,纯 A1 |
|
|
92
|
+
| `row_heights` | object | 行高映射,键为行索引,值为像素 px |
|
|
93
|
+
| `col_widths` | object | 列宽映射,键为列索引,值为像素 px |
|
|
94
|
+
|
|
95
|
+
### 示例
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
wecom-cli sheet info get --json '{"docid":"e3_ABC123","sheet":"销售","include":["merges","col_widths"]}'
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### 使用规则
|
|
102
|
+
|
|
103
|
+
- 调整行列尺寸、写入合并区域、放置图表或执行结构变更前,可先读取现有布局,避免覆盖未知结构。
|
|
104
|
+
- 默认行高 20px,列宽 100px。返回的 `row_heights` 和 `col_widths` 只展示和默认值不同的行和列。不展示的行列即是默认值。
|
|
105
|
+
- 如果 `merges` 为空,说明当前子表没有单元格合并的情况。
|
|
106
|
+
|
|
107
|
+
## 插入整行或整列
|
|
108
|
+
|
|
109
|
+
在指定行或列之前/之后插入连续的整行或整列,自动继承原表格的样式。
|
|
110
|
+
|
|
111
|
+
### 命令
|
|
112
|
+
|
|
113
|
+
使用 wecom-cli 工具按照下面格式调用
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
wecom-cli sheet dims insert --json '<JSON 参数>'
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### 参数
|
|
120
|
+
|
|
121
|
+
| 字段 | 类型 | 必填 | 默认值 | 语义 |
|
|
122
|
+
|-----------------|---|---|---|---|
|
|
123
|
+
| `docid` | string | 是 | — | 在线表格 ID 或 URL |
|
|
124
|
+
| `sheet` | string | 是 | — | 子表 ID 或名称 |
|
|
125
|
+
| `position` | string | 是 | — | 插入位置;行用 1-based 数字字符串,如 `"3"`;列用字母,如 `"C"` |
|
|
126
|
+
| `count` | int | 是 | — | 插入数量,必须大于 `0` |
|
|
127
|
+
| `direction` | string | 否 | `before` | `before` / `after` |
|
|
128
|
+
| `dry_run` | bool | 否 | `false` | `true` 时仅预览,不落盘 |
|
|
129
|
+
|
|
130
|
+
### 示例
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
wecom-cli sheet dims insert --json '{"docid":"e3_ABC123","sheet":"销售","position":"C","count":3,"direction":"after"}'
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### 扩展当前子表边界
|
|
137
|
+
|
|
138
|
+
当插入行列的目的是把表格可用范围向右或向下扩展时,先用 `sheet-workbook.md` 中的 `sheet workbook get` 确认当前子表范围,再用**当前边界内已有的最后一行或最后一列**作为 `position`,通过 `direction:"after"` 和 `count` 向外扩展。`position` 不要填目标新增区域的第一行或第一列;它必须落在当前范围内,否则会报错:“操作超出工作表边界”。
|
|
139
|
+
|
|
140
|
+
当前子表范围为 `A1:H10` 时,向右扩展 3 列,新增 `I:K`:
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
wecom-cli sheet dims insert --json '{"docid":"e3_ABC123","sheet":"销售","position":"H","count":3,"direction":"after"}'
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
当前子表范围为 `A1:H10` 时,向下扩展 5 行,新增第 `11:15` 行:
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
wecom-cli sheet dims insert --json '{"docid":"e3_ABC123","sheet":"销售","position":"10","count":5,"direction":"after"}'
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### 使用规则
|
|
153
|
+
|
|
154
|
+
- **扩展边界必须锚在边界内**:向右扩展用当前末列;向下扩展用当前末行。不要把新位置直接当作 `position`。
|
|
155
|
+
- **多个不连续插入位置必须分轮串行执行**:多个行位置按行号从大到小,多个列位置按列序从右到左;一次模型响应中只调用一次本命令,取得结果后再处理下一位置。
|
|
156
|
+
- 插入后原有数据的行号、列字母和引用范围可能偏移。后续写入、合并、调整尺寸等操作必须按新结构重新计算位置,不要复用插入前缓存的 A1 地址。
|
|
157
|
+
|
|
158
|
+
## 删除整行或整列
|
|
159
|
+
|
|
160
|
+
删除一个连续的整行或整列范围。破坏性操作,必须传 `yes` 确认;建议先 `dry_run` 预览,确认后带 `yes` 执行。
|
|
161
|
+
|
|
162
|
+
### 命令
|
|
163
|
+
|
|
164
|
+
使用 wecom-cli 工具按照下面格式调用
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
wecom-cli sheet dims delete --json '<JSON 参数>'
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### 参数
|
|
171
|
+
|
|
172
|
+
| 字段 | 类型 | 必填 | 默认值 | 语义 |
|
|
173
|
+
|---|---|---|---|--------------------------|
|
|
174
|
+
| `docid` | string | 是 | — | 在线表格 ID 或 URL |
|
|
175
|
+
| `sheet` | string | 是 | — | 子表 ID 或名称 |
|
|
176
|
+
| `range` | string | 是 | — | 整行范围如 `3:7`,或整列范围如 `C:F` |
|
|
177
|
+
| `yes` | bool | 是 | — | 确认执行(缺省拒绝) |
|
|
178
|
+
| `dry_run` | bool | 否 | `false` | `true` 时仅预览,不落盘 |
|
|
179
|
+
|
|
180
|
+
### 返回
|
|
181
|
+
|
|
182
|
+
| 字段 | 类型 | 说明 |
|
|
183
|
+
|---|---|---|
|
|
184
|
+
| `deleted_range` | string | 实际删除的 A1 范围 |
|
|
185
|
+
|
|
186
|
+
### 使用规则
|
|
187
|
+
|
|
188
|
+
- 这里只能删除**整行或整列**。删除局部单元格块并让周边数据回填,不属于本接口,请读取 `sheet-range-operations.md`。
|
|
189
|
+
- **多个不连续删除范围必须分轮串行执行**:先合并相邻目标,再按行号从大到小或列序从右到左删除;一次模型响应中只调用一次本命令,禁止并发删除。
|
|
190
|
+
- 删除不可逆。执行前先确认目标范围;必要时通过数据读取接口读取该范围的内容,并检查相交的合并区域和引用关系。
|
|
191
|
+
- 删除后原有数据的坐标会前移,后续操作必须重新读取或计算目标位置。
|
|
192
|
+
|
|
193
|
+
## 移动整行或整列
|
|
194
|
+
|
|
195
|
+
将连续的整行或整列作为一个整体移动到新位置;值、公式和样式随行列一起移动。破坏性操作,必须传 `yes` 确认;建议先 `dry_run` 预览参数与影响区域,确认后带 `yes` 执行。
|
|
196
|
+
|
|
197
|
+
### 命令
|
|
198
|
+
|
|
199
|
+
使用 wecom-cli 工具按照下面格式调用
|
|
200
|
+
|
|
201
|
+
```
|
|
202
|
+
wecom-cli sheet dims move --json '<JSON 参数>'
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### 参数
|
|
206
|
+
|
|
207
|
+
| 字段 | 类型 | 必填 | 默认值 | 语义 |
|
|
208
|
+
|-----------|---|---|--------|----------------------------|
|
|
209
|
+
| `docid` | string | 是 | — | 在线表格 ID 或 URL |
|
|
210
|
+
| `sheet` | string | 是 | — | 子表 ID 或名称 |
|
|
211
|
+
| `range` | string | 是 | — | 源范围:整行 `3:7` 或整列 `C:F` |
|
|
212
|
+
| `position` | string | 是 | — | 目标位置;行用 1-based 数字字符串,列用字母 |
|
|
213
|
+
| `dry_run` | bool | 否 | `false` | `true` 时仅预览,不落盘 |
|
|
214
|
+
| `yes` | `bool` | 是 | — | 确认执行(缺省拒绝) |
|
|
215
|
+
|
|
216
|
+
### 示例
|
|
217
|
+
|
|
218
|
+
```
|
|
219
|
+
wecom-cli sheet dims move --json '{"docid":"e3_ABC123","sheet":"销售","range":"3:7","position":"12","yes":true}'
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### 使用规则
|
|
223
|
+
|
|
224
|
+
- 源范围与目标位置必须属于同一维度:`range="3:7"` 时 `position` 必须是行号;`range="C:F"` 时 `position` 必须是列字母。禁止 `{"range":"3:7","position":"H"}` 这类行列混用。
|
|
225
|
+
- **多个移动任务必须分轮串行执行**:一次模型响应中只调用一次本命令;每次移动完成后,重新定位剩余任务的源范围和目标位置,不得只按初始坐标并发或连续提交。
|
|
226
|
+
- 移动会改变源范围及其间隔区域的坐标。后续操作应以移动后的结构重新定位,不要继续使用移动前缓存的 A1 地址。
|
|
227
|
+
|
|
228
|
+
## 显示或隐藏行列
|
|
229
|
+
|
|
230
|
+
显示或隐藏连续整行 / 整列。隐藏行列只改变可见性,不删除数据、公式或样式。
|
|
231
|
+
|
|
232
|
+
### 命令
|
|
233
|
+
|
|
234
|
+
使用 wecom-cli 工具按照下面格式调用
|
|
235
|
+
|
|
236
|
+
```
|
|
237
|
+
wecom-cli sheet dims visible --json '<JSON 参数>'
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### 参数
|
|
241
|
+
|
|
242
|
+
| 字段 | 类型 | 必填 | 默认值 | 语义 |
|
|
243
|
+
|---|---|---|---|---|
|
|
244
|
+
| `docid` | string | 是 | — | 在线表格 ID 或 URL |
|
|
245
|
+
| `sheet` | string | 是 | — | 子表 ID 或名称 |
|
|
246
|
+
| `range` | string | 是 | — | 整行范围如 `3:7`,或整列范围如 `D:D` / `C:F` |
|
|
247
|
+
| `visible` | bool | 是 | — | `true` 表示显示,`false` 表示隐藏 |
|
|
248
|
+
| `dry_run` | bool | 否 | `false` | `true` 时仅预览,不落盘 |
|
|
249
|
+
|
|
250
|
+
### 返回
|
|
251
|
+
|
|
252
|
+
| 字段 | 类型 | 说明 |
|
|
253
|
+
|---|---|---|
|
|
254
|
+
| `dimension` | string | 处理维度:`row` / `col` |
|
|
255
|
+
| `affected_range` | string | 实际生效范围 |
|
|
256
|
+
| `count` | int | 生效的行/列数量 |
|
|
257
|
+
| `visible` | bool | 当前可见状态 |
|
|
258
|
+
|
|
259
|
+
### 示例
|
|
260
|
+
|
|
261
|
+
隐藏 D 列:
|
|
262
|
+
|
|
263
|
+
```
|
|
264
|
+
wecom-cli sheet dims visible --json '{"docid":"e3_ABC123","sheet":"销售","range":"D:D","visible":false}'
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
显示第 3 到 7 行:
|
|
268
|
+
|
|
269
|
+
```
|
|
270
|
+
wecom-cli sheet dims visible --json '{"docid":"e3_ABC123","sheet":"销售","range":"3:7","visible":true}'
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
### 使用规则
|
|
274
|
+
|
|
275
|
+
- **只能整行或整列**:`range` 必须是 `3:7`、`D:D`、`C:F` 这类整行/整列范围,不要传 `A3:F7` 这种局部单元格区域。
|
|
276
|
+
- **只支持单个连续范围**:不支持 `D:D,F:F` 这类逗号分隔多段范围;需要隐藏多个不连续范围时分多次调用。
|
|
277
|
+
- **隐藏不是删除**:用户要求“暂时不显示/收起辅助列”时用本命令;用户要求彻底移除数据时才考虑 `dims delete`。
|
|
278
|
+
|
|
279
|
+
## 调整行高或列宽
|
|
280
|
+
|
|
281
|
+
按 `range` 指定的维度统一或逐项设置行高 / 列宽,单位均为 pixel。
|
|
282
|
+
|
|
283
|
+
### 命令
|
|
284
|
+
|
|
285
|
+
使用 wecom-cli 工具按照下面格式调用
|
|
286
|
+
|
|
287
|
+
```
|
|
288
|
+
wecom-cli sheet dims resize --json '<JSON 参数>'
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
### 参数
|
|
292
|
+
|
|
293
|
+
| 字段 | 类型 | 必填 | 默认值 | 语义 |
|
|
294
|
+
|---|---|---|---|--------------------------------------------------------|
|
|
295
|
+
| `docid` | string | 是 | — | 在线表格 ID 或 URL |
|
|
296
|
+
| `sheet` | string | 是 | — | 子表 ID 或名称 |
|
|
297
|
+
| `range` | string | 是 | — | 目标行/列范围(纯 A1),格式决定维度:纯数字为行(如 `2:5`),字母为列(如 `B:D`) |
|
|
298
|
+
| `row_height` | int | 条件必填 | — | 统一行高(pixel);`range` 为行时与 `row_heights` 二选一 |
|
|
299
|
+
| `row_heights` | object | 条件必填 | — | 逐行行高(pixel);`range` 为行时与 `row_height` 二选一,键为行号 |
|
|
300
|
+
| `col_width` | int | 条件必填 | — | 统一列宽(pixel);`range` 为列时与 `col_widths` 二选一 |
|
|
301
|
+
| `col_widths` | object | 条件必填 | — | 逐列列宽(pixel);`range` 为列时与 `col_width` 二选一,键为列字母 |
|
|
302
|
+
| `dry_run` | bool | 否 | `false` | `true` 时仅预览,不落盘 |
|
|
303
|
+
|
|
304
|
+
### 返回
|
|
305
|
+
|
|
306
|
+
| 字段 | 类型 | 说明 |
|
|
307
|
+
|---|---|---|
|
|
308
|
+
| `dimension` | string | 处理维度:`rows` / `cols` |
|
|
309
|
+
| `affected_range` | string | 实际生效区域 A1 |
|
|
310
|
+
| `resized` | int | 实际调整的行/列数 |
|
|
311
|
+
|
|
312
|
+
### 示例
|
|
313
|
+
|
|
314
|
+
逐列列宽(`range` 为列):
|
|
315
|
+
|
|
316
|
+
```
|
|
317
|
+
wecom-cli sheet dims resize --json '{"docid":"e3_ABC123","sheet":"销售","range":"A:E","col_widths":{"A":100,"C:E":140}}'
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
统一行高(`range` 为行):
|
|
321
|
+
|
|
322
|
+
```
|
|
323
|
+
wecom-cli sheet dims resize --json '{"docid":"e3_ABC123","sheet":"销售","range":"2:10","row_height":30}'
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
### 使用规则
|
|
327
|
+
|
|
328
|
+
- `range` 格式决定维度:纯数字为行(`2:5`),字母为列(`B:D`)。同一调用只能调一种维度——行用 `row_height`(统一)或 `row_heights`(逐行),列用 `col_width`(统一)或 `col_widths`(逐列),不可行列混用。
|
|
329
|
+
- `row_heights` / `col_widths` 的键可以是单项或连续区间(如 `{"A":100,"C:E":140}`),可在一次调用设多个不连续尺寸组,不要为了不同尺寸拆成多次调用。
|
|
330
|
+
|
|
331
|
+
## 合并单元格
|
|
332
|
+
|
|
333
|
+
### 命令
|
|
334
|
+
|
|
335
|
+
使用 wecom-cli 工具按照下面格式调用
|
|
336
|
+
|
|
337
|
+
```
|
|
338
|
+
wecom-cli sheet merge set --json '<JSON 参数>'
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
### 参数
|
|
342
|
+
|
|
343
|
+
| 字段 | 类型 | 必填 | 默认值 | 语义 |
|
|
344
|
+
|---|---|---|---|---|
|
|
345
|
+
| `docid` | string | 是 | — | 在线表格 ID 或 URL |
|
|
346
|
+
| `sheet` | string | 是 | — | 子表 ID 或名称 |
|
|
347
|
+
| `range` | string | 是 | — | 待合并区域,纯 A1 |
|
|
348
|
+
| `merge_type` | string | 否 | `all` | `all` / `rows` / `columns` |
|
|
349
|
+
| `dry_run` | bool | 否 | `false` | `true` 时仅预览,不落盘 |
|
|
350
|
+
|
|
351
|
+
### 返回
|
|
352
|
+
|
|
353
|
+
| 字段 | 类型 | 说明 |
|
|
354
|
+
|---|---|---|
|
|
355
|
+
| `merged_range` | string | 实际合并区域 |
|
|
356
|
+
|
|
357
|
+
### 使用规则
|
|
358
|
+
|
|
359
|
+
- `all` 将整个区域合为一个单元格。`rows` 将区域内每一行分别合并;`columns` 将区域内每一列分别合并。
|
|
360
|
+
- 合并前先调用 `sheet merge get` 检查相交的已有合并范围,避免与现有合并块冲突。
|
|
361
|
+
|
|
362
|
+
## 取消合并单元格
|
|
363
|
+
|
|
364
|
+
取消合并单元格。破坏性操作,必须传 `yes` 确认;建议先 `dry_run` 预览参数与影响区域,确认后带 `yes` 执行。
|
|
365
|
+
|
|
366
|
+
### 命令
|
|
367
|
+
|
|
368
|
+
使用 wecom-cli 工具按照下面格式调用
|
|
369
|
+
|
|
370
|
+
```
|
|
371
|
+
wecom-cli sheet merge clear --json '<JSON 参数>'
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
### 参数
|
|
375
|
+
|
|
376
|
+
| 字段 | 类型 | 必填 | 默认值 | 语义 |
|
|
377
|
+
|---|---|---|---|-----------------|
|
|
378
|
+
| `docid` | string | 是 | — | 在线表格 ID 或 URL |
|
|
379
|
+
| `sheet` | string | 是 | — | 子表 ID 或名称 |
|
|
380
|
+
| `range` | string | 是 | — | 待取消合并的纯 A1 区域 |
|
|
381
|
+
| `dry_run` | bool | 否 | `false` | `true` 时仅预览,不落盘 |
|
|
382
|
+
| `yes` | bool | 是 | — | 确认执行(缺省拒绝) |
|
|
383
|
+
|
|
384
|
+
### 返回
|
|
385
|
+
|
|
386
|
+
| 字段 | 类型 | 说明 |
|
|
387
|
+
|---|---|---|
|
|
388
|
+
| `unmerged_range` | string | 实际取消合并的区域 |
|
|
389
|
+
|
|
390
|
+
### 使用规则
|
|
391
|
+
|
|
392
|
+
- 区域不明确时先用 `sheet merge get` 查询,再对准确的合并范围执行取消。
|
|
393
|
+
|
|
394
|
+
## 查询合并范围
|
|
395
|
+
|
|
396
|
+
### 命令
|
|
397
|
+
|
|
398
|
+
使用 wecom-cli 工具按照下面格式调用
|
|
399
|
+
|
|
400
|
+
```
|
|
401
|
+
wecom-cli sheet merge get --json '<JSON 参数>'
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
### 参数
|
|
405
|
+
|
|
406
|
+
| 字段 | 类型 | 必填 | 默认值 | 语义 |
|
|
407
|
+
|---|---|---|---|---|
|
|
408
|
+
| `docid` | string | 是 | — | 在线表格 ID 或 URL |
|
|
409
|
+
| `sheet` | string | 是 | — | 子表 ID 或名称 |
|
|
410
|
+
| `range` | string | 是 | — | 查询区域,纯 A1 |
|
|
411
|
+
|
|
412
|
+
### 返回
|
|
413
|
+
|
|
414
|
+
| 字段 | 类型 | 说明 |
|
|
415
|
+
|---|---|---|
|
|
416
|
+
| `merges` | string[] | 与查询区域相交的合并范围列表,纯 A1;无合并时为空数组 |
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
# 单元格样式操作
|
|
2
|
+
|
|
3
|
+
对指定 A1 区域设置或清除单元格样式、边框与自动换行。
|
|
4
|
+
|
|
5
|
+
## 使用场景
|
|
6
|
+
|
|
7
|
+
| 操作需求 | CLI | 说明 |
|
|
8
|
+
| --- | --- | --- |
|
|
9
|
+
| 设置单元格样式 | `sheet style set` | "表头加粗居中"、"金额列两位小数"、"标题字号 14" |
|
|
10
|
+
| 还原默认样式 | `sheet style clear` | "清掉这块的格式"、"恢复默认样式" |
|
|
11
|
+
| 设置区域边框 | `sheet border set` | "加全框"、"只加外边框"、"加内部横线" |
|
|
12
|
+
| 清除区域边框 | `sheet border clear` | "去掉边框" |
|
|
13
|
+
| 设置自动换行 | `sheet autotab set` | "让这块内容自动换行" |
|
|
14
|
+
| 取消自动换行 | `sheet autotab delete` | "取消这块的自动换行" |
|
|
15
|
+
|
|
16
|
+
## 设置单元格样式
|
|
17
|
+
|
|
18
|
+
对 A1 区域应用字体 / 颜色 / 对齐 / 数字格式等样式。
|
|
19
|
+
|
|
20
|
+
### 命令
|
|
21
|
+
|
|
22
|
+
使用 wecom-cli 工具按照下面格式调用
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
wecom-cli sheet style set --json '<JSON>'
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### 入参
|
|
29
|
+
|
|
30
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
31
|
+
| --- | --- | --- |----------------------------------------------------------------------------------------------------|
|
|
32
|
+
| `docid` | `string` | 是 | 在线表格 ID |
|
|
33
|
+
| `sheet` | `string` | 是 | 子表 ID 或名称 |
|
|
34
|
+
| `range` | `string` | 是 | 设置的 A1 区域 |
|
|
35
|
+
| `font_family` | `string` | 否 | 字体名 |
|
|
36
|
+
| `font_size` | `int` | 否 | 字号 pt |
|
|
37
|
+
| `bold` | `bool` | 否 | 粗体 |
|
|
38
|
+
| `italic` | `bool` | 否 | 斜体 |
|
|
39
|
+
| `underline` | `string` | 否 | `none` / `single` / `double` / `single_accounting` / `double_accounting` |
|
|
40
|
+
| `strike` | `bool` | 否 | 删除线 |
|
|
41
|
+
| `font_color` | `string` | 否 | 字体色 ARGB hex |
|
|
42
|
+
| `bg_color` | `string` | 否 | 背景色 ARGB hex |
|
|
43
|
+
| `horizontal_align` | `string` | 否 | `general` / `left` / `center` / `right` / `fill` / `justify` / `center_continuous` / `distributed` |
|
|
44
|
+
| `vertical_align` | `string` | 否 | `top` / `center` / `bottom` / `justify` / `distributed` |
|
|
45
|
+
| `wrap` | `bool` | 否 | 自动换行 |
|
|
46
|
+
| `number_format` | `string` | 否 | Excel Number Format Code,如 `0.00%` / `#,##0` / `yyyy-mm-dd`。传 `""` 清除格式,不传保持原值 |
|
|
47
|
+
| `dry_run` | `bool` | 否 | 预览不执行 |
|
|
48
|
+
|
|
49
|
+
### 出参
|
|
50
|
+
|
|
51
|
+
| 字段 | 类型 | 说明 |
|
|
52
|
+
| --- | --- | --- |
|
|
53
|
+
| `affected_range` | `string` | 应用样式区域 A1 |
|
|
54
|
+
| `style_count` | `int` | 应用样式的单元格数 |
|
|
55
|
+
|
|
56
|
+
**示例:**
|
|
57
|
+
|
|
58
|
+
表头加粗居中、黄底黑字:
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
wecom-cli sheet style set --json '{
|
|
62
|
+
"docid": "e3_ABC123",
|
|
63
|
+
"sheet": "销售",
|
|
64
|
+
"range": "A1:B1",
|
|
65
|
+
"font_family": "Microsoft YaHei",
|
|
66
|
+
"font_size": 12,
|
|
67
|
+
"bold": true,
|
|
68
|
+
"font_color": "FF000000",
|
|
69
|
+
"bg_color": "FFFFFF00",
|
|
70
|
+
"horizontal_align": "center"
|
|
71
|
+
}'
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 使用规则
|
|
75
|
+
|
|
76
|
+
- **未传即保持原值**:所有可选样式字段只传要改的;`number_format` 传 `""` 清除格式,不传保持原值。不需要构造完整样式对象整体下发。
|
|
77
|
+
- **颜色 ARGB hex**:`font_color` / `bg_color` 用 8 位 ARGB(前 2 位 alpha),如 `FFFF0000` 不透明红、`FFFFFF00` 不透明黄。
|
|
78
|
+
|
|
79
|
+
## 清除区域单元格样式
|
|
80
|
+
|
|
81
|
+
破坏性操作,必须传 `yes` 确认;建议先 `dry_run` 预览,确认后带 `yes` 执行。
|
|
82
|
+
|
|
83
|
+
### 命令
|
|
84
|
+
|
|
85
|
+
使用 wecom-cli 工具按照下面格式调用
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
wecom-cli sheet style clear --json '<JSON>'
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 入参
|
|
92
|
+
|
|
93
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
94
|
+
| --- | --- | --- |------------|
|
|
95
|
+
| `docid` | `string` | 是 | 表格 ID |
|
|
96
|
+
| `sheet` | `string` | 是 | 子表 ID 或名称 |
|
|
97
|
+
| `range` | `string` | 是 | 纯 A1 区域 |
|
|
98
|
+
| `yes` | `bool` | 是 | 确认执行(缺省拒绝) |
|
|
99
|
+
| `dry_run` | `bool` | 否 | 预览不执行 |
|
|
100
|
+
|
|
101
|
+
### 出参
|
|
102
|
+
|
|
103
|
+
| 字段 | 类型 | 说明 |
|
|
104
|
+
| --- | --- | --- |
|
|
105
|
+
| `cleared_range` | `string` | 清除样式区域 A1 |
|
|
106
|
+
| `cleared_count` | `int` | 清除样式的单元格数 |
|
|
107
|
+
|
|
108
|
+
## 设置单元格边框
|
|
109
|
+
|
|
110
|
+
可同时设外框 + 内部线,也可只设外框或只设内部线。
|
|
111
|
+
|
|
112
|
+
### 命令
|
|
113
|
+
|
|
114
|
+
使用 wecom-cli 工具按照下面格式调用
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
wecom-cli sheet border set --json '<JSON>'
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 入参
|
|
121
|
+
|
|
122
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
123
|
+
| --- | --- | --- | --- |
|
|
124
|
+
| `docid` | `string` | 是 | 表格 ID |
|
|
125
|
+
| `sheet` | `string` | 是 | 子表 ID 或名称 |
|
|
126
|
+
| `range` | `string` | 是 | 纯 A1 区域 |
|
|
127
|
+
| `positions` | `string[]` | 否 | 边框方位:`top` / `bottom` / `left` / `right` / `inner_horizontal` / `inner_vertical` / `diagonal_up` / `diagonal_down`,**缺省四边外框** |
|
|
128
|
+
| `style` | `string` | 否 | 线型:`none` / `thin` / `medium` / `dashed` / `dotted` / `thick` / `double` / `hair`,默认 `thin` |
|
|
129
|
+
| `color` | `string` | 否 | 边框色 ARGB hex,默认黑色 |
|
|
130
|
+
| `dry_run` | `bool` | 否 | 预览不执行 |
|
|
131
|
+
|
|
132
|
+
### 出参
|
|
133
|
+
|
|
134
|
+
| 字段 | 类型 | 说明 |
|
|
135
|
+
| --- | --- | --- |
|
|
136
|
+
| `affected_range` | `string` | 应用边框区域 A1 |
|
|
137
|
+
| `positions` | `string[]` | 实际生效的方位集合 |
|
|
138
|
+
| `style` | `string` | 实际生效的线型 |
|
|
139
|
+
|
|
140
|
+
**示例:**
|
|
141
|
+
|
|
142
|
+
给 A1:F20 加全框(四边外框 + 内部横竖线):
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
wecom-cli sheet border set --json '{
|
|
146
|
+
"docid": "e3_ABC123",
|
|
147
|
+
"sheet": "销售",
|
|
148
|
+
"range": "A1:F20",
|
|
149
|
+
"positions": ["top", "bottom", "left", "right", "inner_horizontal", "inner_vertical"],
|
|
150
|
+
"style": "thin",
|
|
151
|
+
"color": "FF000000"
|
|
152
|
+
}'
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## 清除单元格边框
|
|
156
|
+
|
|
157
|
+
破坏性操作,必须传 `yes` 确认;不传 `positions` 即清除全部方位,传 `positions` 只清指定方位。
|
|
158
|
+
|
|
159
|
+
### 命令
|
|
160
|
+
|
|
161
|
+
使用 wecom-cli 工具按照下面格式调用
|
|
162
|
+
|
|
163
|
+
```
|
|
164
|
+
wecom-cli sheet border clear --json '<JSON>'
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### 入参
|
|
168
|
+
|
|
169
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
170
|
+
| --- | --- | --- | --- |
|
|
171
|
+
| `docid` | `string` | 是 | 表格 ID |
|
|
172
|
+
| `sheet` | `string` | 是 | 子表 ID 或名称 |
|
|
173
|
+
| `range` | `string` | 是 | 纯 A1 区域 |
|
|
174
|
+
| `positions` | `string[]` | 否 | 要清除的方位集合(方位取值同 `border set`),**缺省清除全部方位** |
|
|
175
|
+
| `yes` | `bool` | 是 | 确认执行(缺省拒绝) |
|
|
176
|
+
| `dry_run` | `bool` | 否 | 预览不执行 |
|
|
177
|
+
|
|
178
|
+
### 出参
|
|
179
|
+
|
|
180
|
+
| 字段 | 类型 | 说明 |
|
|
181
|
+
| --- | --- | --- |
|
|
182
|
+
| `cleared_range` | `string` | 清除边框区域 A1 |
|
|
183
|
+
| `positions` | `string[]` | 实际清除的方位集合 |
|
|
184
|
+
|
|
185
|
+
**示例:**
|
|
186
|
+
|
|
187
|
+
清除全部边框:
|
|
188
|
+
|
|
189
|
+
```
|
|
190
|
+
wecom-cli sheet border clear --json '{
|
|
191
|
+
"docid": "e3_ABC123",
|
|
192
|
+
"sheet": "销售",
|
|
193
|
+
"range": "A1:F20",
|
|
194
|
+
"yes": true
|
|
195
|
+
}'
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## 设置自动换行
|
|
199
|
+
|
|
200
|
+
### 命令
|
|
201
|
+
|
|
202
|
+
使用 wecom-cli 工具按照下面格式调用
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
wecom-cli sheet autotab set --json '<JSON>'
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### 入参
|
|
209
|
+
|
|
210
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
211
|
+
| --- | --- | --- | --- |
|
|
212
|
+
| `docid` | `string` | 是 | 表格 ID |
|
|
213
|
+
| `sheet` | `string` | 是 | 子表 ID 或名称 |
|
|
214
|
+
| `range` | `string` | 是 | 设置自动换行的纯 A1 区域 |
|
|
215
|
+
|
|
216
|
+
### 出参
|
|
217
|
+
|
|
218
|
+
| 字段 | 类型 | 说明 |
|
|
219
|
+
| --- | --- | --- |
|
|
220
|
+
| `affected_range` | `string` | 实际设置自动换行的区域 A1 |
|
|
221
|
+
| `style_count` | `int` | 应用样式的单元格数 |
|
|
222
|
+
|
|
223
|
+
## 取消单元格自动换行
|
|
224
|
+
|
|
225
|
+
### 命令
|
|
226
|
+
|
|
227
|
+
使用 wecom-cli 工具按照下面格式调用
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
wecom-cli sheet autotab delete --json '<JSON>'
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### 入参
|
|
234
|
+
|
|
235
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
236
|
+
| --- | --- | --- | --- |
|
|
237
|
+
| `docid` | `string` | 是 | 表格 ID |
|
|
238
|
+
| `sheet` | `string` | 是 | 子表 ID 或名称 |
|
|
239
|
+
| `range` | `string` | 是 | 取消自动换行的纯 A1 区域 |
|
|
240
|
+
|
|
241
|
+
### 出参
|
|
242
|
+
|
|
243
|
+
| 字段 | 类型 | 说明 |
|
|
244
|
+
| --- | --- | --- |
|
|
245
|
+
| `affected_range` | `string` | 实际取消自动换行的区域 A1 |
|
|
246
|
+
| `style_count` | `int32` | 应用样式的单元格数 |
|