0

0

Excel如何批量合并多个工作簿?(Power Query一键搞定)

冰火之心

冰火之心

发布时间:2026-01-14 15:03:44

|

451人浏览过

|

来源于php中文网

原创

可利用Power Query批量合并多个Excel文件数据:先统一源文件结构,再通过“从文件夹”导入自动汇总;或对工作表名不一的文件逐个导入后追加查询;还可配合VBA实现一键刷新与自动保存。

excel如何批量合并多个工作簿?(power query一键搞定)

如果您需要将分散在多个Excel文件中的数据整合到一个工作表中,而手动复制粘贴效率低下且易出错,则可以利用Power Query的批量合并功能实现自动化汇总。以下是具体操作步骤:

一、准备统一结构的源文件

Power Query要求所有待合并的工作簿中,目标工作表具有相同的列名与列顺序,否则合并后可能出现空值或错位。建议提前检查各文件的首行标题是否一致,并确保数据区域无空行或合并单元格。

1、将所有需合并的Excel文件放入同一文件夹中。

2、确认每个文件内目标工作表名称相同(例如均为“销售数据”)或均使用默认的Sheet1。

3、关闭所有待合并的Excel文件,避免Power Query读取时被占用。

二、使用Power Query从文件夹导入并合并

此方法通过“从文件夹”入口一次性加载全部Excel文件内容,再筛选有效工作表并提升为表格结构,最终堆叠合并。

1、在Excel中点击【数据】选项卡,选择【获取数据】→【从文件】→【从文件夹】。

2、浏览并选中存放所有Excel文件的文件夹,点击【确定】。

3、在导航器窗口中,勾选【Content】列右侧的复选框,点击【转换数据】进入Power Query编辑器。

4、在Power Query编辑器中,右键【Content】列,选择【提取值】→【不带分隔符】。

5、点击【高级编辑器】,将原有代码中关于二进制内容解析的部分替换为以下逻辑(若自动识别为Excel格式则跳过此步):添加自定义列,使用Excel.Workbook([Content], null, true)解析

6、展开【Content】列,勾选【Name】和【Data】字段,取消勾选【Kind】。

7、筛选【Name】列,仅保留目标工作表名称(如“销售数据”)。

8、展开【Data】列,勾选所有列,取消勾选【使用原始列名作为前缀】。

9、点击【关闭并上载】,数据将自动合并至新工作表。

来福FM
来福FM

来福 - 你的私人AI电台

下载

三、使用Power Query从多个工作簿直接导入并追加

当各文件结构一致但工作表名称不统一时,可逐个导入再手工追加查询,适用于文件数量较少(如10个以内)且需对个别文件做预处理的场景。

1、点击【数据】→【获取数据】→【从工作簿】,依次选择第一个Excel文件,点击【导入】。

2、在导航器中选择对应工作表,勾选【启用隐私级别】,点击【加载】。

3、重复上述步骤,为第二个文件创建新查询,但选择【仅创建连接】而非加载。

4、在Power Query编辑器中,右键第一个查询名称,选择【追加查询】→【将查询追加为新查询】。

5、在弹出窗口中选择第二个查询,点击【确定】。

6、对后续文件重复步骤3–5,每次将新查询追加至已合并的主查询中。

7、全部追加完成后,在主查询中点击【关闭并上载】。

四、通过VBA辅助触发Power Query刷新与保存

当合并后的数据需定期更新且目标文件夹路径固定时,可配合VBA脚本一键刷新所有Power Query连接,并导出为新汇总文件,避免重复手动操作。

1、按Alt+F11打开VBA编辑器,插入新模块。

2、输入以下代码片段:ThisWorkbook.RefreshAll

3、另起一行添加:ActiveWorkbook.SaveCopyAs "C:\汇总\最新汇总_" & Format(Now, "yyyymmdd_hhmm") & ".xlsx"

4、关闭VBA编辑器,返回Excel,按Alt+F8运行该宏。

5、确认所有Power Query连接已设置为【启用后台刷新】,并在【数据】→【查询和连接】窗格中检查连接状态。

相关专题

更多
c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

231

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

435

2024.03.01

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

618

2023.07.31

python中的format是什么意思
python中的format是什么意思

python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

430

2024.06.27

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

387

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

571

2023.08.10

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

387

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

571

2023.08.10

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

6

2026.01.14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 11.7万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 2.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号