| name | office-excel |
| description | Excel 电子表格读写与编辑最佳实践 — 用 xlsx_read/xlsx_write/xlsx_edit 处理 .xlsx 时遵守的公式、数字格式与可维护性纪律 |
| triggers | ["xlsx","excel","表格","电子表格","工作表","单元格","spreadsheet","workbook","sheet"] |
Office Excel(.xlsx 读写纪律)
改编自 anthropics/skills xlsx(Apache 2.0)。
用本插件(xlsx_read / xlsx_write / xlsx_edit)交付 Excel 文件时,遵守以下纪律。
1. 能用公式绝不硬编码计算值
- 汇总、合计、比率一律写公式(
{ formula: 'SUM(B2:B10)' }),不要把算好的结果写死。
- 交付的表格必须保持动态可重算:用户改了源数据,合计列应自动更新。写死的数字会在源数据变更后悄悄变成错误答案。
- 公式在
xlsx_read 中以 =SUM(...) 原文显示,交付前读回自查一遍公式是否正确。
2. 零公式错误纪律
#REF! / #DIV/0! / #VALUE! / #NAME? 一个都不允许出现在交付物里。常见成因与预防:
- 行列从 1 开始:
A1 是第一个单元格,不存在第 0 行/第 0 列。越界引用直接 #REF!。
- 跨 sheet 引用用
Sheet1!A1 语法;sheet 名含空格或特殊字符时用单引号 'My Sheet'!A1。
- 除零检查:除法公式先确认分母列无空值/零值,必要时
IF(B2=0, 0, A2/B2)。
- 类型一致:文本列与数字列混算得
#VALUE!;写入时不要把数字写成带引号的字符串。
- 函数名拼写:
#NAME? 几乎都是函数名拼错或用了不存在的函数。
3. 数字格式约定(用 number_formats 设置)
- 货币:
$#,##0(或 ¥#,##0)
- 百分比:
0.0%
- 倍数:
0.0x
- 负数用括号表示:
#,##0;(#,##0)
- 年份作为文本写入(如
'2024),防止被加千分位显示成 2,024
4. 假设参数放独立单元格
- 增长率、折扣率、汇率等假设值单独放一个单元格,公式引用它:
=B5*(1+$B$6),而不是 =B5*1.05。
- 用
$B$6 绝对引用锁定假设单元格,下拉填充时不会漂移。
- 这样用户改假设即可全表重算,不用改任何公式。
5. 修改已有模板时沿用其既有约定
- 用
xlsx_read 先看清原文件的表头、格式、公式风格,再动手。
- 严格沿用模板自己的数字格式、列宽、命名习惯——不把自己的风格强加进去。
- 只改该改的单元格(
xlsx_edit 的 update_cells / append_rows),不要整体重写文件。