一、使用文件名函数(适用于Excel 2016及以上版本)
FILE函数配合INDEX函数 在单元格输入`=INDEX(FILES("D:\路径\*.xlsx"),ROW(1))`(需替换为实际路径),拖动填充柄批量生成文件名。
Power Query(仅限Excel 2016+)
- 通过【数据】→【获取数据】→【自文件】→【自文件夹】导入文件,删除不需要的列后直接输出到Sheet1。
二、使用VBA宏(适用于高级用户)
基础VBA代码
```vba
Sub ListFileNames()
Dim folderPath As String
Dim fileName As String
Dim i As Long
folderPath = "D:\ExcelFiles\" ' 修改为实际路径
If Right(folderPath, 1) <> "\" Then folderPath = folderPath & "\"
fileName = Dir(folderPath & "*.xlsx")
i = 1
Do While fileName <> ""
ThisWorkbook.Sheets("Sheet1").Cells(i, 1).Value = fileName
i = i + 1
fileName = Dir
Loop
End Sub
```
- 运行该宏可将文件名写入Sheet1的A列。
三、使用Excel自带功能(简单快捷)
Power Query导入
- 通过【数据】→【获取数据】→【自文件夹】导入文件,选择Excel格式,直接导出为表格。
- 若需去除扩展名,导入后使用【数据】→【分列】功能,按固定宽度或分隔符拆分。
手动操作(小文件)
- 选中多个文件后复制路径,粘贴到Excel后使用【Ctrl+E】智能填充提取文件名。
四、使用第三方工具(高效批量处理)
Bulk Rename Utility: 支持批量重命名文件,可批量提取文件名并生成列表。 Folder Opus
注意事项
路径格式:确保文件夹路径使用英文双引号包裹,且包含通配符时需使用反斜杠(如`D:\ExcelFiles\*.xlsx`)。
权限问题:运行VBA宏需确保启用了【开发工具】选项卡。
扩展名处理:若需纯文件名(不含扩展名),可在导入后使用【数据】→【分列】功能删除`.xlsx`后缀。
以上方法可根据文件数量、Excel版本及操作习惯灵活选择,高效完成批量文件名提取。