Excel批量提取文件名方法详解
时间:2026-05-23 19:16:20 215浏览 收藏
在Excel中批量提取文件夹内所有文件名,无需手动输入,有四种高效实用的方法:Power Query一键导入并筛选、CMD命令生成文本再导入、VBA宏自动遍历写入、以及Office 365/2021专属的动态数组公式+自定义函数组合方案——无论你追求操作简洁、系统原生支持、高度自动化,还是灵活适配多变路径,总有一种方法能精准匹配你的需求与Excel版本,大幅提升文件管理效率。

如果您需要在Excel中快速获取指定文件夹下所有文件的名称列表,而不想手动逐个输入,可以通过多种方式实现批量提取。以下是几种常用且有效的操作方法:
一、使用Power Query导入文件夹内容
Power Query是Excel内置的数据获取与转换工具,可直接连接到文件系统并自动列出目标文件夹中的全部文件名及其属性。
1、打开Excel,切换到【数据】选项卡,点击【获取数据】→【从文件】→【从文件夹】。
2、在弹出窗口中,输入目标文件夹的完整路径,或点击浏览按钮选择该文件夹,然后点击【确定】。
3、Power Query编辑器将加载该文件夹内所有文件的元数据表,其中包含Name列(即文件名)和Extension列等。
4、删除不需要的列(如Content、Date accessed等),仅保留Name列。
5、点击【关闭并上载】,结果将自动导入当前工作表的A列起始位置。
二、利用CMD命令生成文件名文本再导入Excel
通过Windows命令提示符调用dir命令,可将指定路径下的所有文件名导出为纯文本文件,随后以文本格式导入Excel。
1、按Win+R键,输入cmd并回车,打开命令提示符窗口。
2、输入命令:cd /d D:\目标文件夹路径(将D:\目标文件夹路径替换为实际路径)。
3、执行导出命令:dir /b > filenames.txt,该命令会生成一个只含文件名(不含路径和扩展名)的文本文件。
4、若需包含扩展名,改用:dir /b /a-d > filenames.txt。
5、在Excel中,选择【数据】→【从文本/CSV】,定位并导入filenames.txt文件,选择“分隔符号”为无,完成导入。
三、使用VBA宏自动遍历并写入文件名
VBA脚本可直接在Excel内部调用文件系统对象,无需外部工具或手动导出,适合重复性高、路径常变的操作场景。
1、按Alt+F11打开VBA编辑器,插入新模块(右键项目→插入→模块)。
2、粘贴以下代码:
Sub ListFilesInFolder()
Dim fso As Object, folder As Object, file As Object
Dim ws As Worksheet: Set ws = ActiveSheet
Dim path As String: path = "D:\目标文件夹路径"
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(path)
ws.Cells.Clear
ws.Range("A1").Value = "文件名"
Dim i As Integer: i = 2
For Each file In folder.Files
ws.Cells(i, 1).Value = file.Name
i = i + 1
Next file
End Sub
3、修改代码中path = "D:\目标文件夹路径"为实际文件夹路径。
4、按F5运行宏,当前工作表将自动生成从A1开始的文件名列表。
四、借助Excel公式配合DIR函数(适用于Office 365/Excel 2021动态数组版本)
在支持SEQUENCE和FILTERXML等新函数的版本中,可通过组合公式间接调用系统命令获取文件名,但需启用宏支持并配置信任中心设置。
1、确保已启用【开发工具】选项卡,并在【Excel选项】→【信任中心】→【信任中心设置】→【宏设置】中勾选“启用所有宏”(仅限可信环境)。
2、按Alt+F11进入VBA编辑器,在【插入】→【模块】中新建模块,输入以下函数:
Function GetFileList(path As String) As Variant
Dim shell As Object, exec As Object, output As String
Set shell = CreateObject("WScript.Shell")
Set exec = shell.Exec("cmd /c dir """ & path & "\*.*"" /b /a-d")
output = exec.StdOut.ReadAll
GetFileList = Split(output, vbCrLf)
End Function
3、返回Excel,在A1单元格输入公式:=GetFileList("D:\目标文件夹路径"),按Enter后自动溢出填充全部文件名。
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
388 收藏
-
352 收藏
-
497 收藏
-
173 收藏
-
127 收藏
-
289 收藏
-
410 收藏
-
470 收藏
-
245 收藏
-
379 收藏
-
264 收藏
-
452 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习