数据与分析

DeepTutor XLSX 技能

让智能体读写和编辑 Excel 工作簿与 CSV 表格:数据、公式、样式、图表、多表工作簿,一个技能全部覆盖。

60/ 100
推荐

整体可靠,存在已披露的局限;按说明试用并保留回滚路径。

查看评分依据 ↓
可直接使用于
Codex · Claude Code
Star 数
★ 41k
最近更新
17 天前
License
Apache-2.0
openpyxlexcelxlsxcsv
+4spreadsheet-processingchartsformula-recalculationpython

这个 Skill 能做什么,适合哪些场景?

这是 DeepTutor 内置的办公技能之一,教模型用 Python 的 openpyxl 库处理 .xlsx/.xlsm 文件和 .csv/.tsv 表格。它可以读取、创建或编辑工作簿,包括单元格数据、公式、样式、图表、合并单元格和多表工作簿。技能的核心价值在于把 openpyxl 的常见陷阱(尤其是公式不会被计算的缓存值问题)写成了明确的操作规则,让模型在沙箱里一次跑对。它要求运行环境提供可执行 Python 代码的沙箱(DeepTutor 各部署形态默认都带),可选配合 LibreOffice 做公式重算。

  • 用 openpyxl 读取 .xlsx/.xlsm:逐行流式读取大文件,或用 data_only=True 读取公式缓存的计算结果
  • 从零创建工作簿:写入数据、公式、字体/填充/对齐样式、数字格式、冻结窗格、多表结构,并可立即重新打开校验输出
  • 编辑已有工作簿时保留原有样式、公式、合并单元格和图表,不经过 pandas 全量重写
  • 创建柱状图/折线图/饼图/散点图,并用 write-only 模式流式导出大数据量
  • 处理 .csv/.tsv 的批量转换与清洗,对脏数据先取样再规范化
  • 写入真实公式时通过 LibreOffice (soffice) 重算缓存值,或改写为 Python 计算出的静态数字,并扫描 #REF!/#DIV/0! 等错误值验证输出
适合
  • 数据分析师拿到一份 messy 的销售 CSV,想让智能体清洗表头、补齐列并输出干净的 xlsx
  • 财务或运营人员需要在上百行的报表上批量新增汇总列、公式和千分位格式,同时保留原模板样式
  • 教师或研究者要把实验数据转成带图表(柱状/折线/饼图)的多表 Excel 交付件
  • 需要合并、拆分或结构化调整大型工作簿的用户,希望用流式读写避免内存溢出
  • DeepTutor 部署管理员想在聊天中直接产出可下载的 Excel 文件(沙箱默认开启即可用)
不适合
  • 需要操作 Google Sheets API 或输出 Word/PDF/脚本文件的场景——技能描述明确排除了这些范围
  • 没有代码执行沙箱的部署(如关闭了 sandbox_allow_subprocess 的主机安装)——办公技能将无法产出文件
  • 期望公式在生成后就带正确缓存值且没有安装 LibreOffice 的用户——此时只能选静态数字方案或等 Excel 打开时重算

如何安装这个 Skill?

使用前请注意
  • 本评审为纯静态源码评审,未执行任何技能指令或代码,所有分数置信度为低。
  • 该技能以 openpyxl 生成的含公式文件在 Excel 打开前缓存值为空,若下游工具依赖缓存值会读到空数据,请按技能建议优先写静态数字。
  • 无 LibreOffice 环境时公式重算路径不可用,技能只能降级为提示用户在 Excel 中打开重算。
  • 仓库测试未覆盖该技能路径,技能行为的正确性目前仅有文档自述支持。
  • 发布方未经 FollowSkills 注册表验证,身份按未知处理;使用前请自行核对安装来源。
开始前你需要
Agent 需要具备
  • Shell / 命令行
  • 本地文件系统
需要预先安装
  • Python
  • openpyxl
  • sandbox with code execution (exec tool)
  • LibreOffice (optional, for formula recalculation)

该技能是 DeepTutor 仓库内置技能(deeptutor/skills/builtin/xlsx/SKILL.md),随主程序安装,无需单独安装。先装好 DeepTutor 运行环境:

DeepTutor(PyPI 完整安装)

pip install -U deeptutor
deeptutor init
deeptutor start

DeepTutor(源码安装)

git clone https://github.com/HKUDS/DeepTutor.git
cd DeepTutor
python3 -m venv .venv && source .venv/bin/activate
python -m pip install -e .
deeptutor init
deeptutor start

DeepTutor(Docker)

docker run --rm --name deeptutor -p 127.0.0.1:3782:3782 -v deeptutor-data:/app/data ghcr.io/hkuds/deeptutor:latest

注意:技能运行依赖代码执行沙箱(默认开启),若在 data/user/settings/system. 中把 sandbox_allow_subprocess 设为 false,本技能将无法产出文件。

如何使用这个 Skill?

试试这样说

安装后,把下面任意一句发给 Agent 即可触发:

  • 读一下 sales.csv,把表头规范化、剔除空行,输出一份带千分位格式的 sales_clean.xlsx
  • 在这份预算表里加一列百分比占比和一行总计,保留原有字体和配色样式
  • 把实验数据做成一个两表工作簿:Summary 表带冻结表头和柱状图,Detail 表放原始数据
  • 打开 report.xlsx 把 B10 的公式结果改成实际数字,别用公式字符串

技能由模型按需读取(SKILL.md 是按需加载的 playbook),在聊天中给出涉及 Excel/CSV 的任务即会触发。执行时模型通过 exec 工具提交完整的 Python 源码(openpyxl),要求一次调用内完成创建、保存、重开和校验,后续调用可引用同一相对文件名继续修改。关键选项:若交付物只需正确数值,写 Python 计算出的静态数字;若需要活公式模型,写真实公式并尽量用 soffice 重算缓存值;读取公式计算结果用 data_only=True,且切勿对以该模式加载的工作簿调用 save()(会永久丢失公式)。产物以下载链接形式交回。

这个 Skill 有哪些优点和局限?

优点
  • 把 openpyxl 最容易踩的坑(公式不计算、data_only 保存丢公式、insert_rows 不改公式引用)写成了明确规则,降低出错率
  • openpyxl 在每种受支持的 DeepTutor 安装中都已声明,无需额外依赖
  • 覆盖读取、创建、编辑、图表、CSV、原始 OOXML 全链路,并内置输出校验(ZIP 完整性 + 错误值扫描)
  • 提供 write-only 流式写入和 read_only 流式读取,能处理大型表格
局限
  • openpyxl 没有公式引擎:写公式的文件在 Excel 打开前缓存值为空,重算依赖可选的 LibreOffice(soffice),并非所有环境都有
  • 依赖宿主上的 Python 沙箱执行模型生成的代码,sandbox_allow_subprocess=false 时技能完全失效
  • pandas 不保证在所有安装中可用(仅 Docker runner 内置),大数据分析能力受限
  • 插入/删除行列不会自动修正公式引用,公式密集的结构调整仍需人工留意

这个 Skill 与同类方案有什么区别?

与相关 Skills 并排比较;分数均按同一 FSRS 标准得出。

Skill FS 评分 Star 数 最近更新 License
DeepTutor XLSX 技能 本页 60 · 推荐 ★ 41k 17 天前 Apache-2.0
Excel 电子表格技能(xlsx) 49 · 谨慎使用 ★ 3.1k 8 个月前 MIT
XLSX 表格处理技能 ✓ Anthropic · 官方 40 · 不推荐 ★ 181k 16 天前 —
OfficeCLI 数据仪表盘技能 57 · 谨慎使用 ★ 32k 13 天前 Apache-2.0
Excel 数据清理助手 ✓ Anthropic · 官方 54 · 谨慎使用 ★ 40k 1 个月前 Apache-2.0

DeepTutor 仓库还内置 docx、pdf、pptx 等姊妹办公技能(同一 exec/沙箱机制,分别用 python-docx、reportlab 等库),xlsx 技能只负责表格类交付物;若交付目标是文档或 PDF,应选用对应技能。

FollowSkills 如何评估这个 Skill?

FollowSkills 评估 · FSRS-2.0
推荐
60/ 100 五分制 3.0 / 5
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
1信任安全18 / 25 · 3.6/5

技能仅声明 sandbox: shell,依赖 openpyxl 等已声明依赖,在用户工作区相对路径内读写,无网络外呼、无凭证访问、破坏性默认值为零,且明确告诫不要使用 /tmp、不要搜索桌面安装,数据流透明。扣分点:无独立回滚机制(编辑时建议保留源文件但非强制)、用户确认环节依赖宿主而非技能自身约定、发布方未经注册表验证(本身不扣分但归因信息有限)。

2可靠稳定9 / 20 · 2.3/5

指令自洽:openpyxl 公式不计算的 gotcha、data_only=True 禁止 save、插入行列需手工改公式等均准确,输出自校验(重载扫描错误字符串、zip 完整性)是加分项。扣分点:静态评审未执行任何关键路径,仓库内测试(test_api_endpoints.py 等)不覆盖该技能路径,异常输入(损坏 xlsx、加密文件)的失败反馈无证据。

3适用触发12 / 15 · 4.0/5

场景清晰(读取/创建/编辑 xlsx、csv/tsv),description 明确排除 Google Sheets API 与 Word/PDF,触发边界与非适用范围写明,运行时环境说明具体(openpyxl 全安装声明、pandas 不可假设)。扣分点:无输入/输出示例文件级别的契约,对超大规模文件的性能边界只有一句带过。

4规范维护11 / 15 · 3.7/5

文档分层良好(Runtime→Gotcha→读/建/编辑/图表/校验/CSV/OOXML),frontmatter 有 name/description/requires,仓库有 Apache-2.0 LICENSE、pyproject 打包声明(SKILL.md 作为包数据随 wheel 发布)、活跃发布记录。扣分点:技能本身无版本号/changelog/已知限制清单,维护责任仅能从仓库整体推断。

5有效结果6 / 15 · 2.0/5

指导针对真实痛点(公式缓存值、保留格式的编辑、无 LibreOffice 时的降级路径),给出的替代方案(写静态数字)边际价值明确。扣分点:静态评审无法验证产出文件可直接使用,有效性仅基于代码片段的书面合理性,代表性输出未经复核。

6证据核验4 / 10 · 2.0/5

技术论断(openpyxl 不算公式、data_only 保存丢公式标注'已验证')可由公开库行为交叉核对,代码示例可独立运行,pyproject 确认 openpyxl>=3.1.0 为声明依赖。扣分点:'verified'为作者自述,无针对该技能的测试或 CI 覆盖证据,未达第三方执行证据门槛,静态上限 5。

1 2 3 4 5 6

点击维度查看打分理由

评估于 2026年9月9日 审查版本 7a96bba1ae03 评估证据[1][2][3][4][5][6][7][8]

证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。

查看完整评分方法 →

常见问题

需要付费或额外的 API 吗?
不需要。技能本身随 Apache-2.0 开源的 DeepTutor 分发,只用本地 Python + openpyxl;唯一的可选外部依赖是本机安装的 LibreOffice(用于公式重算)。
写进 Excel 的公式算出来是空的怎么办?
openpyxl 只写公式字符串不计算。若环境有 soffice,技能会通过 subprocess 重算并替换缓存值;否则要么改为直接写入 Python 计算出的静态数字,要么接受公式在用户用 Excel/LibreOffice 打开时才填充。
为什么技能跑不起来?
它要求 sandbox: shell 的代码执行环境。若你的部署关闭了 subprocess 沙箱(sandbox_allow_subprocess=false 或未启用沙箱后端),exec 工具不会挂载,办公技能无法产出文件。
能处理多大的表格?
读取可用 read_only=True 流式逐行处理,写入可用 write_only=True 逐行 append,避免把所有单元格对象留在内存中;但具体上限取决于沙箱资源。

同仓库的其他 Skills

均来自 HKUDS/DeepTutor

相关 Skills