如何使用WPS表格批量导入指定文件夹里的文件名?
在WPS表格用Power Query或宏一键导入文件夹文件名,免插件、跨平台、可刷新,适合批量归档与月报。

功能定位:为什么要在表格里批量拿文件名
核心关键词“WPS表格批量导入文件名”对应的痛点很���接:财务、法务、运营每月要把扫描件、发票、合同按统一规则归档,人工复制粘贴极易漏号。把文件名一次性读进表格后,可立刻用函数补全日期、编号、校验重复,再透视统计,比 Windows 资源管理器导出 CSV 少一次格式转换,也比写 Python 脚本门槛低。
WPS Office 2026 春季版给表格组件内置了Power Query(获取数据→自文件夹),同时保留 VBA/JS 宏引擎;两条路线都能实现“点刷新就更新”,区别在于学习成本与运行环境。下文先给零代码方案,再给宏方案,最后对比性能、权限与合规边界,方便你按团队规模直接落地。
零代码路线:Power Query 五步导入
步骤 1:确认版本与入口
截至当前的最新版本,Windows 桌面端路径:数据→获取数据→自文件夹;macOS 因沙箱限制暂未开放此入口,需用宏方案。若你的菜单栏没有“获取数据”,请在右上角搜索框输入“Power Query”自动安装插件,体积约 14 MB,企业内网环境可离线包分发。
步骤 2:选择文件夹并预览
点击“自文件夹”后,在弹窗中浏览到目标目录,例如“D:\2026年发票PDF”。Query 会在 5 秒内列出文件名、扩展名、路径、修改日期、大小五列。此时可直选“加载到表格”,也可先“转换数据”把 .tmp、.DS_Store 之类过滤掉,避免污染后续透视。
步骤 3:在编辑器里清洗
进入 Power Query 编辑器后,右侧“应用的步骤”会记录每一步操作,方便回退。常用清洗动作:
- 右键“扩展名”列→筛选→排除值“.tmp”
- 选中“修改日期”→更改类型→日期+时间
- 添加自定义列:合同编号 = Text.Middle([文件名],5,8)
所有操作均点选完成,无需写 M 语言;编辑器底部可实时看行数变化,确认未误删。
步骤 4:加载到工作表并设刷新
点“关闭并加载”后,WPS 会新建一个绿色边框的查询表。以后只要右键→刷新,即可重新扫描同一目录,追加或删除行自动同步。若需定时,可在“数据→查询属性”里勾选“打开文件时刷新”,配合 Windows 任务计划实现每日晨跑。
步骤 5:发布到云并共享权限
Query 结果表可一键另存为在线协作表,路径:文件→保存到金山云→权限设置→仅查看/可编辑。注意:Power Query 目前不会随文档上云,协作者打开时只能看到静态结果;若对方也要刷新,需在同一内网且有原文件夹读取权限。
提示
Query 刷新速度与文件数量呈线性关系,经验性观察:1 万文件约 8 秒完成,10 万文件首次加载可能超过 1 分钟,建议用子目录分批。
宏方案:JavaScript 宏三行代码
何时选宏
1) macOS 或 Linux 端;2) 公司策略禁用 Power Query 外插;3) 需要把结果直接写进指定行,而不是另起绿色查询表。WPS 2026 的宏引擎已支持 TypeScript,语法比 VBA 更贴近前端,维护门槛低。
启用宏并写脚本
步骤:工具→宏→新建 JavaScript 宏,粘贴下列示例(已注释):
// 假设把文件名写入当前工作表 A 列,从第2行开始
const fs = require('fs'); // WPS 内置模块
const path = '/Users/joy/invoices'; // 请改为自己目录
let row = 2;
fs.readdirSync(path).forEach(file => {
ThisWorkbook.ActiveSheet.Range(`A${row}`).Value2 = file;
row++;
});
保存后点运行即可。若目录含子文件夹,改用 fs.readdirSync(path, {recursive:true}),但返回数组会带相对路径,需再 split 处理。
把宏绑定到按钮
开发工具→插入→按钮→选择刚才的宏名,即可在表内一键更新。移动端(Android/iPad)暂不支持运行宏,但可查看上次运行结果。
警告
宏对本地文件系统拥有完全读写权限,务必只分发给可信模板;企业管理员可在“管理中心→宏白名单”里关闭所有用户脚本,防止数据外泄。
性能与成本:Query 与宏对比
| 指标 | Power Query | JavaScript 宏 |
|---|---|---|
| 学习曲线 | 图形界面,零代码 | 需懂 JS/TS 基础 |
| 万级文件耗时 | 约 8–12 秒 | 约 3–5 秒(无界面刷新) |
| 刷新按钮 | 内置右键刷新 | 需自建形状按钮 |
| 跨平台 | 仅 Win 桌面 | Win/macOS/Linux |
| 权限风险 | 读目录即可 | 可写任意路径,需白名单 |
经验性观察:当文件数 <5 000、且需要多人协作刷新时,优先 Power Query;当文件数 >5 万、且运行在 macOS,或需要把结果直接塞进复杂模板,则宏更轻量。
例外与边界:哪些情况会翻车
长路径与特殊字符
Windows 260 字符路径限制在 2026 已默认解除,但部分老旧 NAS 仍使用旧 SMB 协议,Query 会报“找不到文件”。解决:先把目录映射为盘符,例如 X:\,再刷新即可。
只读权限与加密盘
若目标目录是 BitLocker 加密盘且未解锁,Query 会返回零行;宏会抛异常。验证方法:资源管理器能否预览文件。若需无人值守,请用证书自动解锁或把文档移至已解密分区。
云同步冲突
金山云同步盘在大量写入时会生成 .tmp 文件,Query 默认把它带进来。解决:在编辑器里加“扩展名不等于 .tmp”筛选,并勾选“忽略隐藏文件”。
与第三方机器人/归档系统协同
如果公司已有第三方归档机器人(例如扫描仪自动命名 PDF),可把机器人输出目录设为 Query 源目录,实现“扫描→命名→入库→统计”闭环。要点:
- 机器人与 WPS 表格运行在同一台电脑,避免 UNC 路径跨机延迟;
- 给机器人命名规则加日期前缀,方便 Query 按“修改日期”降序,自动把当月文件置顶;
- 在表格侧用条件格式标红“24 小时内的新文件”,提醒财务及时核对。
权限最小化原则:机器人账户只需“写入”目录,WPS 用户只需“读取”,避免共用高权账号导致误删。
故障排查:现象→原因→验证→处置
现象 1:刷新后 0 行
可能原因:目录被移动、盘符变化、或 Query 安全策略把路径当隐私。验证:在编辑器“源设置”里重新选文件夹,看预览是否恢复。处置:把路径改为固定盘符,并在“查询属性”里勾选“保留连接”。
现象 2:宏按钮点击无反应
可能原因:宏被组策略禁用。验证:工具→宏→查看宏,若列表为空说明被清空。处置:联系管理员把宏白名单设为“仅签名脚本”,再给当前模板加企业证书。
现象 3:打开文档提示“外部连接已禁用”
这是 2026 版新增的高危防护。处置:文件→选项→信任中心→外部内容→启用所有工作簿连接(仅在内网使用)。
适用/不适用场景清单
| 场景 | 建议方案 | 理由 |
|---|---|---|
| 月结发票 <5 000 张 | Power Query | 零代码、可刷新、协作友好 |
| macOS 设计部素材库 | JavaScript 宏 | 系统无 Query,需快速出清单 |
| 10 万级日志文件 | 都不要用 | 建议直接上数据库或日志平台 |
| 涉密内网无外插权限 | 宏+白名单 | Query 插件被禁用 |
最佳实践 6 条
- 目录路径用盘符+英文文件夹,避免空格与特殊符号,减少转义烦恼。
- 统一文件命名规则:日期_客户_编号_版本,方便 Text.Middle 截取字段。
- Query 结果单独放一张工作表,用公式引用,避免刷新把手工注释冲掉。
- 把“刷新时间”写在页眉,方便同事判断数据新鲜度,函数 =NOW()。
- 每月底另存为快照副本,防止误删历史;WPS 云版本回溯也能做到,但命名快照更直观。
- 企业环境一定给宏加数字签名,否则下次策略升级会被批量清空。
FAQ:常见 5 问
Power Query 刷新会不会把文件重命名或移动?
不会。Query 仅读取文件系统元数据,无任何写操作;重命名需手动或另写宏。
宏方案能否在安卓平板上运行?
不能。安卓/iOS 版 WPS 仅支持查看宏结果,要刷新需回桌面端。
文件名含日文假名会乱码吗?
Query 默认 UTF-8 编码,正常显示;宏需确认系统代码页,macOS 无此问题。
刷新时提示“隐私级别”阻止,怎么关?
数据→查询选项→隐私→忽略级别,直接勾选即可;内网环境无隐私风险。
文件被删除后,刷新会报错吗?
不会报错,Query 会自动移除消失的行;若曾用函数引用该行,会显示 #REF!,需加容错。
收尾:下一步行动
如果你第一次尝试,建议先用Power Query 模板:在官网搜索“批量导入文件名示例表格”,下载后只需改文件夹路径即可体验刷新。确认满足性能与权限后,再把 Query 或宏封装进部门统一模板,搭配命名规范与云协作,就能把“归档+统计”从小时级缩短到分钟级。
进阶玩家可以把宏改成递归子目录+哈希校验,做简易版文件完整性审计;或把 Query 结果喂给 WPS AI Studio,自动生成“本月发票增长 12%”的可视化报告。记住两条底线:1) 文件路径不要带机密;2) 宏一定加签名——这样批量导入文件名才能真正成为生产力,而不是新的运维坑。


