Office Excel

Excel 电子表格读写与编辑最佳实践 — 用 xlsx_read/xlsx_write/xlsx_edit 处理 .xlsx 时遵守的公式、数字格式与可维护性纪律

huiliyi37 6a16aaa 2.4 KB Updated

File contents

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_editupdate_cells / append_rows),不要整体重写文件。

huiliyi37/tianshu-harness/tree/main/plugins/office-excel/skills commit 6a16aaaf7e

Frequently asked questions

npx skillmds@latest add huiliyi37/office-excel