Excel Merger · Tkinter + pandas

多表 Excel
一键纵向合并

选择多个结构相同或相近的 Excel 文件,按列名自动对齐、可选跳过表头行,合并后导出为单个工作簿。财务、人事、销售报表汇总的桌面小帮手——数据不上传,纯离线处理。

.xlsx pandas Tkinter 列对齐 跳表头

项目用途

各部门按月提交格式统一的 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 · 多表合并预览

下方模拟三张区域销售表,点击「执行合并」查看纵向堆叠结果。

华东.xlsx
姓名部门销售额
张三华东12400
李四华东9800
华北.xlsx
姓名销售额部门
王五15200华北
赵六11300华北
华南.xlsx
姓名部门销售额备注
钱七华南8600新人
合并顺序由 Demo 4 文件列表决定

Demo 2 · 列对齐模式

并集对齐保留所有出现过的列;严格交集仅保留各表共有的列(如「备注」列在 strict 模式下会被丢弃)。

列对齐模式:
当前:并集对齐 — 保留所有列,缺失填空白

Demo 3 · 跳过表头开关

跳过非首文件表头
第 2、3 个文件的标题行将被跳过

Demo 4 · 文件列表排序 · 行数统计 · 导出动画

拖拽调整合并顺序,实时更新行数统计,模拟导出进度条。

    文件数:3 预计总行:0 列并集:0 当前模式:union
    📄

    点击上方按钮模拟导出

    技术栈

    Python 生态成熟组件,开发与维护成本低。

    桌面 GUI 使用 Tkinter(标准库),数据处理核心为 pandas,读写 Excel 依赖 openpyxl / xlrd / xlsxwriter;可选 PyInstaller 打包 exe。

    Python 3.8+ Tkinter pandas openpyxl xlsxwriter PyInstaller

    快速上手

    三步跑通合并流程。

    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,添加文件、设定选项、导出汇总——几分钟完成过去几小时的工作。