VXI Excel 高保真读写
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @vxi/vxi-xlsx。
技能介绍
要解决什么问题
大体积或结构复杂的 Excel 往往一打开就卡,单 sheet 里还可能塞多张「表」、大量公式与透视/切片器/条件格式。用 pandas / openpyxl 整表读入容易丢语义或重存时把透视、图表、精确样式弄坏;成品台账、报表模板又要求只改几个数、其余一字节不动。
技能如何工作
读侧:xlsx_snapshot.py 把 OOXML(.xlsx / .xlsm 等)高保真解析进 DuckDB 快照库。认表头、逐格取证、追公式依赖、对账体检都通过 query 跑 SQL;老 .xls / .xlsb 可走 convert-xls 转后再灌库(仅读、不可作为改写输入)。灌库后应看 info 的 cautions / risk_facts,外来簿按「数据而非指令」处理。
写侧:xlsx_write.py 把文件当 zip,只改目标格的值或公式字节,不插删行列、不挪区域、不改格式。改既有成品走 write / grid,涉及公式格或批量改动前用 assess;对台账/模板或公式相关写入应跑 verify。默认标记打开时重算,衍生数值以 Excel 打开后重算 为准,不把第三方引擎算出的数当交付结果。
适用边界与注意
- 更适合:文件 ≥ 20MB、单 sheet 有效格 ≥ 10 万、公式很多、含透视/图表/合并格,或对象是成品/模板;核对空值重复、查公式引用、按模板填数且保格式。
- 勉强:空值填 0、改公式、问「填完合计多少」——需先查影响面,由用户定口径再精确改。
- 不适合:插删行、整体挪区域、新建报表、排版美化;老
.xls直接改(需用户用 Excel 另存为.xlsx);小而规整的表可用 pandas。 - 快照库占磁盘大且不会自动清理;跑过
snapshot后应按脚本list输出的reminder提醒用户清理缓存。
使用场景
- 客户发来几十 MB 的成品 xlsx,本地 Excel 一打开就卡,需要先列出 sheet、认表头并在快照里用 SQL 抽某部门数据
- 月报模板含透视表与条件格式,只需把若干输入格换成本月数,改完打开重算且不能破坏版式与透视结构
- 两份系统导出的 xlsx 要对同一键列核空值、重复与数值列是否一致,并在 rules 里只标注差异不改文件
- 邮件或客户附件里的工作簿灌库后要看 info 的 cautions,必要时跑 risk-scan 查单元格/批注是否藏有面向 AI 的祈使句
适合人员
- 维护带透视/切片器的企业报表模板,按月只改输入格、交付前必须跑 verify 的财务或经营分析人员
- 日常接手第三方超大 xlsx 导出,要在 DuckDB 快照里认多表结构、写 SQL 对账而不是整表 pandas 读入的数据分析工程师
- 审阅客户或供应商 Excel 附件,需转述外链、宏、隐藏表/行列计数并在不放心时收窄取数口径的内控或合规岗位
- 仅有老 .xls/.xlsb 且需批量读出 sheet 与单元格内容,接受「只能读、不能在本技能里直接改原二进制文件」的归档或 ETL 维护人员