Power Query可无需编码自动合并文件夹下所有Excel文件为一张表:先从文件夹获取元数据,再筛选扩展名、展开Content列并提升数据类型,接着追加合并查询,添加“来源文件”列标识,最后支持一键刷新与定时更新。

如果您希望将某个文件夹下的所有Excel文件自动合并为一个统一的数据表,Power Query提供了无需编写代码的可视化操作方式。以下是实现此目标的具体步骤:
一、从文件夹获取数据源
Power Query可通过“从文件夹”连接方式一次性识别指定路径下所有兼容文件(如.xlsx、.xls),并提取其内容结构进行统一处理。该方式不依赖文件命名规则或数量限制,适用于动态增删文件的场景。
1、在Excel中点击【数据】选项卡,选择【获取数据】→【从文件】→【从文件夹】。
2、在弹出窗口中输入目标文件夹的完整路径,或点击浏览按钮定位到该文件夹,然后点击【确定】。
3、Power Query会加载该文件夹内所有文件的元数据列表,包括名称、扩展名、大小、修改时间等信息。
4、确认列表无误后,点击右上角【转换数据】进入Power Query编辑器。
二、筛选并展开文件内容
默认加载的元数据列表不含实际表格数据,需进一步筛选有效文件并逐个读取其工作表内容。此步骤通过过滤扩展名与调用内置函数完成,确保仅处理Excel类文件。
1、在查询编辑器中,找到【Extension】列,点击右侧筛选箭头,勾选.xlsx和.xls,取消其他扩展名选项。
2、右键点击【Content】列标题,选择【删除其他列】,保留仅含文件二进制内容的列。
3、选中【Content】列,点击【转换】选项卡中的【使用第一行作为标题】,确保后续列名正确识别。
4、再次右键【Content】列,选择【转换为表】,在弹出窗口中保持默认设置(分隔符为自动检测,标题行为“第一行”),点击【确定】。
三、提升数据类型并合并查询
为保障后续分析准确性,需对各列执行数据类型推断与统一设定;同时将多个文件的表格内容垂直堆叠为单张表,形成汇总结构。
1、选中需要标准化的列(如日期、数值类列),在【转换】选项卡中点击【数据类型自动检测】,或手动选择【整数】、【小数】、【日期】等类型。
2、点击【主页】选项卡中的【合并查询】→【合并查询(追加)】→【将查询追加为新查询】。
3、在弹出窗口中,选择当前查询作为第一个表,再次添加自身作为第二个表,确保勾选【不显示重复项】选项(若存在同名字段但结构一致)。
4、点击【确定】后,新生成的合并查询将包含全部文件的行记录,且字段顺序与原始文件首张表完全一致。
四、添加文件来源标识列
为便于追溯每条记录所属原始文件,在合并前需向每张子表插入文件名或路径信息。该标识列可作为分组、筛选或透视分析的关键维度。
1、返回原始文件夹查询(即未追加前的查询,通常命名为“文件夹_XXX”),右键【Name】列,选择【复制】。
2、在已展开内容的查询中,点击【转换】→【格式】→【添加自定义列】。
3、在弹出窗口中,输入新列名如“来源文件”,公式栏输入:= [Name](注意中括号表示引用当前行的Name字段)。
4、点击【确定】后,该列将随每一行数据一同被追加至最终汇总表中。
五、刷新与自动化维护
完成上述步骤后,整个流程已固化于Power Query中。当源文件夹新增、删除或修改任意Excel文件时,仅需一次刷新即可同步更新汇总结果,无需重新配置。
1、点击【主页】选项卡中的【全部刷新】,验证是否成功加载最新文件内容。
2、若需定时刷新,点击【数据】→【查询和连接】,右键目标查询,选择【属性】,勾选刷新此连接时刷新相关连接及启用后台刷新。
3、关闭Power Query编辑器,回到Excel界面,点击【数据】→【全部刷新】,观察工作表是否实时反映文件夹变化。










