# XLSX

> 只要电子表格文件（.xlsx、.xlsm、旧版 .xls、.csv、.tsv）是任务的主要输入或输出，或者需要 被打开、读取、创建、修改，就使用本 Skill。也适用于公式、格式、图表、数据清洗和表格格式转换。 不用于既不读取也不产出表格文件的一般数据分析、数据库流程、独立脚本或普通文档制作。

- Skill: `nexus-research-lab/xlsx` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add nexus-research-lab/xlsx`
- Raw SKILL.md: https://api.skillmd.com/api/skills/nexus-research-lab/xlsx/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: nexus-research-lab (https://skillmd.com/u/nexus-research-lab)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/nexus-research-lab/xlsx

---


# Excel 工作簿

| 任务 | 路径 |
|---|---|
| 快速读取 XLSX | 运行自带读取脚本，保留工作表、行列和公式信息 |
| 读取 CSV/TSV | 用 Python `csv` 或通用文本工具；保留原始字段类型约束 |
| 新建或编辑工作簿 | 用 `openpyxl` 处理公式、格式、表格和图表 |
| 大批量数据清洗 | 标准库足够时直接使用；确有需要再用 pandas |
| 旧版 `.xls` | 用 LibreOffice 转为 `.xlsx`，保留原件 |

## 工作契约

- 只读问题不保存、重算或导出工作簿。
- 写操作默认另存新文件；模板和既有格式优先于默认样式。
- 先直接使用当前环境。`import openpyxl` 失败且任务需要写文件时，取得用户同意后在隔离环境安装
  `${CLAUDE_SKILL_DIR}/requirements.txt`，不要静默修改系统 Python。

## 读取

```bash
python3 "${CLAUDE_SKILL_DIR}/scripts/read_spreadsheet.py" "<input.xlsx>"
python3 "${CLAUDE_SKILL_DIR}/scripts/read_spreadsheet.py" "<input.xlsx>" --sheet "<sheet-name>" --max-rows 1000 --max-columns 100
python3 "${CLAUDE_SKILL_DIR}/scripts/read_spreadsheet.py" "<input.xlsx>" --output "<new-output.md>"
```

脚本同时显示公式文本和文件内缓存值。关键结论要定位到工作表与单元格，并沿公式引用核对输入；
缓存可能过期，不能把它当成刚刚重算的结果。

## 创建与编辑

在 workspace 或临时目录写一个可重复运行的短 Python 脚本，再用 `openpyxl` 输出文件。

- 数值、日期、百分比和货币写成真实类型，格式代码只负责显示；ID、邮编等标识符才写文本。
- 派生结果使用可读公式并引用输入单元格，不把 Python 计算值或魔法数字写死在计算区。
- 跨表引用始终给工作表名加单引号，例如 `='Assumptions'!B5`；正确使用绝对和相对引用。
- 读取公式与缓存值时分别打开两次。绝不能保存以 `data_only=True` 打开的工作簿，否则公式会丢失。
- 编辑时延续相邻格式、公式模式、条件格式、表格和图表范围；不要对成熟模板做全表重排。
- `.xlsm` 使用 `keep_vba=True`，并保持宏格式输出。外部链接、透视表、切片器和高级图表可能在往返保存时变化，
  只修改必要区域并明确验证范围。

## 完成条件

1. 含公式时先在单独目录用 LibreOffice 重算，检查转换结果后再作为最终文件，不能直接覆盖未验证的源文件。
2. 用读取脚本回读关键范围，确认公式仍存在、缓存值已更新，并扫描 `#REF!`、`#DIV/0!`、
   `#VALUE!`、`#NAME?`、`#N/A` 等错误。
3. 用 LibreOffice 导出 PDF 或工作表预览，检查每张非空工作表的标题、表头、关键数字、图表、分页和打印区域。
4. 缺少 LibreOffice 时可以继续不依赖重算的读取；含公式的写任务必须说明结果尚未由表格引擎重算。
5. 最终只交付用户要求的 XLSX/XLSM/CSV/TSV，不附带构建脚本和预览文件。

