Excel合并相同表结构的多个文件(.csv、.xlsx)
做数据汇总、业务报表合并的从业者,几乎都会遇到这类标准场景:
各部门、各分公司、各渠道提交上来的报表,表头结构完全一致,但文件格式不统一 —— 有标准 xlsx、旧版 xls,也有系统导出的 CSV 文件。需要全部合并到同一张总表中,用于后续统计、透视分析、统一上报。
文件数量少时,手动复制粘贴尚能应付;一旦达到十几个甚至几十个文件,不仅要挨个处理不同格式、对齐表头,还要核对数据是否遗漏,效率极低且容易出错。写脚本实现又要处理格式兼容、CSV 编码、表头校验一堆细节问题。
本文整理了 4 种主流实现方案,从原生功能、代码实现到自动化工具,覆盖不同使用场景,完整兼容 xlsx /xls/csv 全格式。
方案一:手动复制粘贴法
适用场景
2-3 个文件临时应急合并,数据量小,对效率要求不高。
操作步骤
- 分别打开 xlsx /xls/csv 文件(CSV 建议用 Excel 打开并保存为 xlsx 后再操作,避免格式错乱);
- 选中第一个文件的数据区域(含表头),复制;
- 新建空白工作簿,粘贴到起始位置;
- 依次打开剩余文件,选中不含表头的数据部分,复制粘贴到总表末尾;
- 全部完成后统一调整列宽、核对数据行数。
优缺点
✅ 优点:零学习成本,人人可操作,灵活度高
❌ 缺点:
- 效率极低,文件数量多时耗时呈线性增长;
- 多格式需要先转换统一,容易出现编码、格式错乱;
- 极易出现漏行、重复粘贴、列错位等问题,核对成本高。
方案二:Power Query 原生批量合并
适用场景
熟悉 Excel 操作,希望不用额外安装软件、不用写代码,需要支持源文件更新后一键刷新。
Power Query 是 Excel 内置的 ETL 工具,支持直接读取文件夹下的多格式文件,批量追加合并,且源数据更新后可一键刷新结果。
操作步骤
- 新建一个空白 Excel 文件,点击「数据」选项卡 → 获取数据 → 自文件 → 自文件夹;
- 选择存放所有待合并文件的文件夹,点击「确定」,加载文件列表;
- 在弹出的编辑器中,点击「组合」→「合并并编辑」;
- 系统会自动识别表结构,添加自定义列解析文件内容,筛选统一表头;
- 确认数据无误后,点击「关闭并上载」,自动生成合并后的总表。
小提示:CSV 文件若出现乱码,可在源设置中将编码改为 GBK / UTF-8 重新加载。
优缺点
✅ 优点:
- Excel 原生功能,无额外软件成本;
- 支持 xlsx /xls/csv 混合格式合并;
- 支持动态刷新,源文件更新后右键总表即可同步。
❌ 缺点:
- 操作链路长,步骤多,新手难以独立排错;
- 对表头一致性要求高,列名不匹配会导致合并失败;
- 大文件(十万行以上)性能下降明显,容易卡顿;
- 格式保留能力弱,合并后原单元格样式容易丢失。
方案三:Python + pandas 代码实现
适用人群
开发者、需要定制化批量处理、需要集成到自动化流程的场景。
通过 pandas 可以实现遍历文件夹、自动识别格式、批量读取合并,灵活度最高,可按需扩展清洗、筛选、计算逻辑。
完整实现代码
代码兼容 xlsx /xls/csv,自动处理 CSV 编码问题(兼容 UTF-8 / GBK),支持新增来源文件列便于溯源。
import os
import pandas as pd
def merge_same_struct_files(folder_path, output_path, add_source_col=True):
"""
合并文件夹下所有相同表结构的Excel/CSV文件
:param folder_path: 待合并文件所在文件夹路径
:param output_path: 输出结果文件路径
:param add_source_col: 是否新增来源文件列
"""
all_data = []
support_formats = ('.xlsx', '.xls', '.csv')
for filename in os.listdir(folder_path):
file_path = os.path.join(folder_path, filename)
if not filename.lower().endswith(support_formats):
continue
try:
# 根据后缀选择读取方式
if filename.lower().endswith('.csv'):
# 自动尝试常用编码,解决中文CSV乱码问题
try:
df = pd.read_csv(file_path, encoding='utf-8-sig')
except UnicodeDecodeError:
df = pd.read_csv(file_path, encoding='gbk')
else:
df = pd.read_excel(file_path)
# 新增来源文件列
if add_source_col:
df['来源文件'] = filename
all_data.append(df)
print(f"已读取:{filename},共 {len(df)} 行")
except Exception as e:
print(f"读取失败 {filename}: {str(e)}")
continue
if not all_data:
print("未找到可合并的有效文件")
return
# 纵向拼接所有数据
result = pd.concat(all_data, axis=0, ignore_index=True)
# 导出结果
if output_path.endswith('.csv'):
result.to_csv(output_path, index=False, encoding='utf-8-sig')
else:
result.to_excel(output_path, index=False)
print(f"\n合并完成!共 {len(result)} 行数据,已保存至:{output_path}")
# 调用示例
if __name__ == '__main__':
# 待合并文件所在文件夹
input_folder = "./待合并报表"
# 输出文件路径
output_file = "./合并总表.xlsx"
merge_same_struct_files(input_folder, output_file)优缺点
✅ 优点:
- 灵活度极高,可自定义清洗、筛选、计算逻辑;
- 批量处理能力强,支持几十上百个文件批量合并;
- 兼容全格式,自动处理 CSV 编码问题;
- 可集成到自动化脚本、定时任务中,无人值守运行。
❌ 缺点:
- 有代码门槛,普通职场用户无法直接使用;
- 依赖 Python 环境和第三方库,部署成本高;
- 默认导出丢失原单元格格式、公式、条件格式;
- 异常处理、格式适配需要自行扩展,排错成本高。
方案四:镜合 Excel 批量处理工具

适用人群
高频批量处理、数据敏感、不想写代码,同时追求效率与易用性的职场 / 技术人员。
如果是日常高频处理报表汇总,涉及财务、人事、经营等敏感数据,更推荐纯本地桌面工具方案。镜合 Excel 批量处理工具专门针对相同结构多文件批量合并场景优化,不用写代码,不用转换格式,xlsx /xls/csv 直接批量导入,一键完成合并。
核心优势
1. 全格式直接兼容,无需提前转换
支持 xlsx /xls/csv 混合导入,自动识别解析,不用提前把 CSV 转成 Excel,也不用区分版本格式。系统导出的各类报表直接丢进去就能合并,省掉格式转换的步骤。
2. 相同表头自动对齐,零配置合并
表结构一致的文件,导入后自动按列名匹配对齐,列顺序不同也能精准对应,不会出现列错位。支持设置跳过表头行数、跳过表尾合计行,带标题行、合计行的复合报表也能直接合并,不用提前手动清理。
3. 纯本地计算,数据安全有保障
文件全程本地计算,仅授权验证联网,永远不上传云端。财务、人事、经营类敏感数据都能放心处理,内网、断网环境也能正常运行,符合企业合规要求。
4. 格式完整保留,合并完直接能用
和代码方案容易丢失格式不同,合并时完整保留原文件的字体、颜色、边框、列宽、条件格式,合并完的文件打开和原格式一致,不用二次调整,直接就能上报。
支持新增「来源文件」列,合并后每一行数据都能溯源,核对查错不用挨个打开原文件。
5. 内置预览,核对不用开文件
内置 Excel 预览功能,不用装 Office/WPS,合并前直接在软件内核对表头、数据完整性,不用来回切换资源管理器和 Excel 窗口,效率更高。
优缺点
✅ 优点:
- 效率极高,几十份文件分钟级完成;
- 全格式兼容,无需提前转换;
- 纯本地架构,数据安全性拉满;
- 零代码门槛,可视化配置,新手也能上手;
- 功能闭环:合并 / 拆分 / 格式标准化 / 透视表 / 清洗全覆盖。
❌ 缺点:
- 需要安装桌面客户端(安装包约 45MB,轻量无捆绑)。
四种方案对比
表格
| 方案 | 实现难度 | 处理效率 | 多格式兼容 | 数据安全性 | 格式保留度 | 适合场景 |
|---|---|---|---|---|---|---|
| 手动复制粘贴 | 极低 | 极慢 | 差 | 高 | 一般 | 2-3 个文件临时应急 |
| Power Query | 中 | 中等 | 较好 | 高 | 一般 | 办公场景、需要数据刷新 |
| Python+pandas | 高 | 快 | 好 | 高 | 低 | 开发者定制化、批量自动化 |
| 镜合 Excel 工具 | 极低 | 极快 | 好 | 极高 | 极高 | 高频批量处理、数据敏感场景 |
总结与建议
- 临时少量文件:手动复制粘贴即可,最灵活;
- 常规办公场景、习惯用 Excel:Power Query 是原生首选,就是上手需要一定学习成本;
- 开发者场景、定制化流程:Python + pandas 可控性最强,可扩展空间大;
- 高频批量处理、数据敏感、不想折腾代码:镜合 Excel 批量处理工具是综合体验最优的方案,兼顾效率、安全与易用性,多格式直接合并不用转换。
目前软件提供免费版,基础合并功能完全可用,觉得合适再升级专业版也不迟。
工具地址:镜合 Excel 批量处理工具官网技术支持 / 商务合作:472398467@qq.com