功能定位:为什么要在表格里做“文件目录”
核心关键词“批量提取文件名”在 WPS Spreadsheets 里对应两条官方路径:① 12.8 版起内置的 =FILES() 函数;② 数据→获取数据→自文件夹(Power Query 级)。两者都能把“文件名”变成可筛选、可公式引用的结构化数据,方便后续做版本号比对、超链接批量生成、归档审计表。与手工复制相比,最大价值是“可重复执行 + 留痕”,满足政府、律所、财务等需要“数据来源可追溯”的场景。
取舍点:若仅需一次性列表,直接复制资源管理器路径更快;若文件每周新增、名称含版本号,建议用函数或查询,后续点击“刷新”即可同步,避免“谁漏拷了文件名”这种无法审计的失误。
最短可达路径(分平台)
Windows 桌面端 12.8 版
- 打开 WPS 表格,新建空白工作簿。
- 在需要列出文件的单元格输入:
=FILES("C:\合同归档\2026Q1\*.pdf")
函数返回动态数组,溢出到相邻单元格,即得到该文件夹下所有 PDF 文件名。 - 若文件在局域网共享盘,把盘符改为
\\Server\Docs\2026Q1\*.pdf即可;函数支持通配符*与?。
注意:FILES 只在“启用动态数组”模式下生效(默认开启,若曾被关闭,选项→高级→公式→勾选“启用动态数组”)。
macOS 桌面端 12.8.1 版
步骤与 Windows 完全一致,路径写法改用 POSIX:/Users/用户名/Documents/2026Q1/*.pdf。经验性观察:mac 版首次调用 FILES 时若弹出“授予文件访问权限”提示,需点击“允许”,否则返回空值。
Android / HarmonyOS 移动端
移动版尚未开放 FILES 函数。替代方案:在桌面端先建模板,把文件列表页设为“云文档”,手机端仅做查看或批注。若必须在手机端提取,可借助“金山扫描王”App 的“文件列表分享”生成 txt,再复制到表格,但此方式已脱离“一键”范畴,且无法自动更新。
用 Power Query 做“可刷新”目录
当需要“文件名 + 修改日期 + 大小”一起入库,或后续还要合并子文件夹时,Power Query 更稳:
- 数据→获取数据→自文件夹→选中根目录。
- 在导航器勾选“合并并加载到…”→仅选“Name、Folder Path、Date modified、Size”。
- 点击“转换数据”进入 Power Query 编辑器,把 Folder Path 列拆分为“项目阶段”等自定义字段,然后关闭并加载至现有工作表。
- 以后文件有增删,只需“数据→刷新全部”,表格自动更新,且刷新记录会留在“查询属性”里,可被审计。
提示:Power Query 方案会生成隐藏查询,文件需保存为 .xlsx 格式;若另存为 .et 传统格式,查询会被剥离,导致刷新失效。
一键生成“可点击”目录
拿到文件名后,通常还要让同事“点一下就能打开”。在相邻列输入公式:
=HYPERLINK("C:\合同归档\2026Q1\"&A2,"打开")
向下填充即可。若文件夹未来会整体迁移,可把根路径写在命名单元格 RootPath,公式改为:
=HYPERLINK(RootPath&A2,"打开")
迁移时只改一处,所有链接批量生效,减少断链风险。
例外与副作用:哪些情况不该用 FILES
- 文件总数超过 1 万行:动态数组溢出会拖慢自动重算,经验性观察打开工作簿耗时从“秒级”升至“数十秒”。此时应改用 Power Query 并关闭“加载到模型”,仅保留链接。
- 含机密文件的本地加密盘:FILES 会绕过资源管理器“隐藏”属性,把敏感文件名暴露在普通工作表,若后续文件上传云文档,可能造成泄露。解决:把提取结果放在受密码保护的工作表,并关闭“允许编辑区域”。
- 需要审计“谁什么时候看过文件”:文件名列表本身不含访问日志,必须配合 Windows 事件查看器或 NAS 访问日志才能形成完整证据链。
验证与回退:如何确认提取结果正确
- 在资源管理器选中同一文件夹,查看状态栏文件计数,与表格
ROWS(FILES(...))对比,应完全一致。 - 随机抽样 10 个文件,点击表格中的超链接,确认能正常打开。
- 回退方案:若因误删公式导致数据丢失,立即按
Ctrl+Z;若已保存并关闭,可在“版本历史”(文件→历史版本)里找回 30 天内的任意快照。
与第三方工具协同的最小权限原则
部分用户习惯用 Python 脚本或第三方归档机器人先扫一遍文件夹,再把结果喂给 WPS。若采用此混合流程,务必:
- 让脚本仅具备“读取+列表”权限,禁止“删除”。
- 输出格式用 CSV,WPS 用“数据→自文本/CSV”导入,避免宏脚本。
- 在表格备注列标注“数据来源:脚本 + 时间戳”,确保审计链完整。
适用 / 不适用场景清单
| 场景维度 | 推荐方案 | 不推荐原因 |
|---|---|---|
| 政府信创电脑,需国产算法加密 | FILES + 国密 .wsm 格式保存 | Power Query 暂不支持国密格式 |
| 设计部每周新增 2000 张 PSD | Power Query + 仅创建链接 | FILES 动态数组重算过慢 |
| 个人手机端临时查看 | 云文档只读 | 移动端无 FILES 函数 |
故障排查速查表
可能原因:① 路径拼写错误;② 文件夹权限不足;③ 动态数组被关闭。
验证:在资源管理器地址栏直接粘贴同一路径,看能否打开。
处置:修正斜杠方向→检查共享盘登录状态→选项中重新启用动态数组。
可能原因:系统区域设置使用“年月日”而 Query 默认“月/日/年”。
验证:在 Query 编辑器里把 Date modified 列类型显式设为“日期/本地”。
处置:关闭并加载后,在表格“字段格式”再指定一次 yyyy-mm-dd,保持与审计日志一致。
最佳实践 6 条
- 统一根路径命名单元格,迁移时只改一处。
- 文件名列表单独放工作表,命名为 FileCatalog_YYYYMMDD,方便版本回溯。
- 给查询或公式添加批注,写明创建人+用途,满足 ISO 文件管理要求。
- 定期把 FileCatalog 工作表导出为 PDF,连同原始文件一起归档,形成“只读快照”。
- 若含机密,开启“文件→文档加密”并勾选“仅允许查看”,防止外部协作人员反向获取路径。
- 在云协作场景,给目录工作表设置“段落级锁定”,避免同事误删公式。
FAQ(结构化数据)
FILES 函数能在 WPS 个人免费版使用吗?
可以,该函数未列入会员专属清单,个人免费版 12.8 版已内置,但需登录账号以启用动态数组。
刷新后文件名出现重复行怎么办?
在 Power Query 编辑器选中 Name 列→主页→删除重复;若用 FILES 函数,可在旁边加 UNIQUE 函数去重。
能否直接提取子文件夹内的文件?
FILES 仅支持单层通配,若需递归子文件夹,请改用 Power Query,并在“文件夹”导航器中勾选“包括子文件夹”。
提取后移动了原始文件,超链接失效如何批量修复?
把根路径单元格改为新位置,再按 Ctrl+H 批量替换旧路径,若用命名单元格模式,仅改一处即可。
国密 .wsm 格式支持 FILES 吗?
支持,但需双方均安装国密插件;macOS 版插件滞后,建议先在 Windows 端完成提取再另存为 .wsm。
收尾:下一步行动
批量提取文件名并生成目录,本质是“把非结构化元数据变成可审计表格”。若你所在团队每周都要核对合同、图纸或报表,建议今天就用 FILES 函数搭一个最小可用模板:① 命名好根路径单元格;② 加一列超链接;③ 把文件保存到企业云文档并开启段落锁定。十分钟后,任何人都能通过“刷新”看到最新文件清单,而不再需要微信反复确认“版本号对不对”。等模板跑满一个月,再评估是否需要升级到 Power Query 或国密加密——让工具先跑起来,合规与效率自然随之而来。

