这个 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 注册表验证,身份按未知处理;使用前请自行核对安装来源。
- Shell / 命令行
- 本地文件系统
Pythonopenpyxlsandbox 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 startDeepTutor(源码安装)
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 startDeepTutor(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?
技能仅声明 sandbox: shell,依赖 openpyxl 等已声明依赖,在用户工作区相对路径内读写,无网络外呼、无凭证访问、破坏性默认值为零,且明确告诫不要使用 /tmp、不要搜索桌面安装,数据流透明。扣分点:无独立回滚机制(编辑时建议保留源文件但非强制)、用户确认环节依赖宿主而非技能自身约定、发布方未经注册表验证(本身不扣分但归因信息有限)。
指令自洽:openpyxl 公式不计算的 gotcha、data_only=True 禁止 save、插入行列需手工改公式等均准确,输出自校验(重载扫描错误字符串、zip 完整性)是加分项。扣分点:静态评审未执行任何关键路径,仓库内测试(test_api_endpoints.py 等)不覆盖该技能路径,异常输入(损坏 xlsx、加密文件)的失败反馈无证据。
场景清晰(读取/创建/编辑 xlsx、csv/tsv),description 明确排除 Google Sheets API 与 Word/PDF,触发边界与非适用范围写明,运行时环境说明具体(openpyxl 全安装声明、pandas 不可假设)。扣分点:无输入/输出示例文件级别的契约,对超大规模文件的性能边界只有一句带过。
文档分层良好(Runtime→Gotcha→读/建/编辑/图表/校验/CSV/OOXML),frontmatter 有 name/description/requires,仓库有 Apache-2.0 LICENSE、pyproject 打包声明(SKILL.md 作为包数据随 wheel 发布)、活跃发布记录。扣分点:技能本身无版本号/changelog/已知限制清单,维护责任仅能从仓库整体推断。
指导针对真实痛点(公式缓存值、保留格式的编辑、无 LibreOffice 时的降级路径),给出的替代方案(写静态数字)边际价值明确。扣分点:静态评审无法验证产出文件可直接使用,有效性仅基于代码片段的书面合理性,代表性输出未经复核。
技术论断(openpyxl 不算公式、data_only 保存丢公式标注'已验证')可由公开库行为交叉核对,代码示例可独立运行,pyproject 确认 openpyxl>=3.1.0 为声明依赖。扣分点:'verified'为作者自述,无针对该技能的测试或 CI 覆盖证据,未达第三方执行证据门槛,静态上限 5。
点击维度查看打分理由
证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。
查看完整评分方法 →