Excel 多工作簿合并
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_9355e276/shdskill01。
技能介绍
要解决什么问题
财务、运营或项目协作里,常见场景是每人维护一份 .xlsx,最后需要汇总成一份总表。手工复制粘贴容易丢格式、合并单元格错位,工作表重名时还要自己改名字。这个技能把「多文件 → 单工作簿、多工作表」做成一条可重复执行的流程。
技能如何工作
触发词包括 合并工作簿、合并 excel 工作簿,以及匹配「合并添加的 N 个 excel 工作簿」一类说法。执行动作 merge_excel_workbooks,参数为 file_paths(待合并文件列表)和 save_path(输出路径);若对话里没带路径,会通过 tkinter 弹窗让你多选源文件并指定保存位置。
合并逻辑基于 openpyxl:以第一个工作簿为基底,其余文件逐个加载,把每个源工作表复制到新工作簿中。复制范围包括:
- 单元格值与样式(字体、边框、填充、数字格式、对齐等)
- 列宽、行高
- 合并单元格区域
工作表名沿用原名;若与已有表名冲突,会自动追加 _1、_2 等后缀,避免静默覆盖。
适用边界与注意点
- 面向 Office Open XML 类文件(如
.xlsx、.xlsm、.xltx、.xltm);老版二进制.xls不在上传类型说明内,需先另存为 xlsx。 - 依赖本机图形界面下的文件对话框;无头环境可能无法弹窗,此时应在对话中预先提供
file_paths与save_path。 - 合并是「把各簿的工作表平铺进一个新簿」,不会按行把多个表拼成一张大表;跨表公式、外部链接、图表等复杂对象是否完整保留,取决于 openpyxl 对该结构的读写能力,合并后建议抽查关键页。
- 单任务超时约 300 秒;文件很大或表很多时,留意运行时间与内存。
使用场景
- 各分公司按月提交独立 `.xlsx`,需要把全部工作表收进一份总工作簿再发给总部审计。
- 项目成员各自维护带格式的进度表文件,协调人要把多份工作簿合并后统一归档或邮件外发。
- 对话里已通过「+」上传多份 Excel,希望一句话触发合并并弹窗选择保存路径。
- 多份模板化报表(含合并单元格与列宽)需拼成单文件多 Sheet,且不能因重名覆盖原有表。
适合人员
- 负责汇总各网点月报、且每份表仍要保持原样式的财务或内控人员。
- 从供应商或外包收回多份 `.xlsx` 进度簿、需合成一份多工作表交付物的项目经理。
- 在 SkillHub/Work Buddy 对话里上传表格后、不想手写 openpyxl 脚本的业务分析同事。
- 按部门拆分维护 roster 或清单,期末要合并成单册 Excel 存档的人事或行政专员。