项目用途
各部门按月提交格式统一的 Excel 报表,月底需汇总成一张总表。手工复制粘贴易漏行、列错位——本工具用 pandas concat 自动完成合并,GUI 降低使用门槛。
核心目标
将数十个 xlsx 文件纵向堆叠为一张表,按列名对齐,除首个文件外自动跳过重复表头,合并前可预览行数与列匹配情况。
- 多文件批量选择与排序
- 列顺序不一致时按列名 union 对齐
- 缺失列填 NaN,不会错位串行
- 一键导出单个 xlsx 工作簿
目标用户
不需要写 VBA 或 Power Query 的办公人员,以及需要离线处理涉密表格的团队。
- 行政 / 财务月底报表汇总
- 销售团队区域数据合并
- 调研问卷分卷回收整合
- 实验数据分批次记录合并
项目特色
轻量桌面工具,专注多表纵向合并;界面操作与数据处理一体。
拖拽选文件
多选 xlsx,列表展示行数预估,可上下调整合并顺序;支持添加 / 移除。
列名对齐
并集或严格交集对齐,缺失列填 NaN;列顺序不一致也不会串行。
跳过头行
可设定跳过前 N 行,仅首个文件保留完整表头,避免重复标题行。
合并预览
合并前显示列交集 / 差集与行数统计,空文件与格式错误友好提示。
一键导出
pandas.concat 纵向堆叠,输出单个 xlsx;可选 xlsxwriter 优化写入。
纯离线
数据不上传;支持 .xls/.xlsx,可选 PyInstaller 打包为 exe。
交互演示
在浏览器中模拟 Excel 合并工具的核心逻辑——无需上传真实文件。
Demo 1 · 多表合并预览
下方模拟三张区域销售表,点击「执行合并」查看纵向堆叠结果。
| 姓名 | 部门 | 销售额 |
|---|---|---|
| 张三 | 华东 | 12400 |
| 李四 | 华东 | 9800 |
| 姓名 | 销售额 | 部门 |
|---|---|---|
| 王五 | 15200 | 华北 |
| 赵六 | 11300 | 华北 |
| 姓名 | 部门 | 销售额 | 备注 |
|---|---|---|---|
| 钱七 | 华南 | 8600 | 新人 |
Demo 2 · 列对齐模式
并集对齐保留所有出现过的列;严格交集仅保留各表共有的列(如「备注」列在 strict 模式下会被丢弃)。
Demo 3 · 跳过表头开关
Demo 4 · 文件列表排序 · 行数统计 · 导出动画
拖拽调整合并顺序,实时更新行数统计,模拟导出进度条。
点击上方按钮模拟导出
技术栈
Python 生态成熟组件,开发与维护成本低。
桌面 GUI 使用 Tkinter(标准库),数据处理核心为 pandas,读写 Excel 依赖 openpyxl / xlrd / xlsxwriter;可选 PyInstaller 打包 exe。
快速上手
三步跑通合并流程。
Step 1
克隆仓库或下载 Release,安装依赖:pip install -r requirements.txt
Step 2
运行主程序:python excel_merge_tool_v242.py,在 GUI 中添加待合并文件。
Step 3
设定跳表头与列对齐模式,点击合并并选择输出路径。也可使用 build_exe.bat 打包 exe。
常见问题
Q:列顺序不一样能合并吗?
可以。pandas 按列名对齐,而非按列位置。列顺序以并集规则统一,数据不会串行。
Q:某个文件多了一列怎么办?
并集模式下多出的列会保留,其他文件对应行为空。可改用严格交集,或合并后在 Excel 中删除。
Q:表头行数不一致怎么处理?
可设定「跳过前 N 行」。通常 N=1 跳过标题;个别双行表头需先统一格式。
Q:支持多大的文件?
取决于内存。数万行通常无压力;百万行级建议分块或数据库方案,本工具定位日常办公量级。
Q:Mac / Linux 能用吗?
Tkinter 与 pandas 跨平台,源码可在 Mac/Linux 运行。打包 exe 脚本主要面向 Windows。
让报表合并回归一键操作
下载源码或打包 exe,添加文件、设定选项、导出汇总——几分钟完成过去几小时的工作。