数据合并

WPS Power Query批量合并工作簿图解

WPS官方团队0 浏览
WPS Power Query教程, WPS合并多个工作簿, Power Query步骤图解, 批量合并Excel数据, WPS表格数据整合, 如何自动合并工作簿, WPS Power Query参数设置, 避免合并数据重复

1. 功能定位:为什么不用传统复制粘贴

2025版WPS把Power Query下放至「数据」选项卡,与Microsoft 365的Get & Transform同宗同源,却免授权费。它把「文件夹→筛选→追加→清洗」写成可刷新M脚本,一次性解决「日报、分店、经销商」不断新增文件的场景;相较过去「VBA循环+ADO」或「手动复制」,优势在于:

  1. 追加列自动对齐,字段顺序、缺失列都能容错;
  2. 刷新仅增量读盘,100份总表再增5份,2秒完成;
  3. 步骤可视化,回退到任意节点无需重写代码。

经验性观察:在信创主机(飞腾D2000+统信UOS V20)打开同一批1.2 GB销售明细,WPS Power Query峰值内存1.9 GB,比Windows版高约15%,但结果完全一致,可复现步骤见第6章。

更重要的是,传统复制粘贴无法留存「数据来源」这一关键审计字段,而Power Query在追加过程中默认注入文件名与修改时间,为后续透视表切片提供天然维度,免去人工补录。

2. 决策树:什么时候用Power Query,什么时候绕行

先判断「文件结构一致性」与「后续更新频率」。如果各工作簿列名差异超过30%,或需要横向按列合并(类似SQL JOIN),Power Query虽能做,但M脚本维护成本陡增,建议直接上WPS AI 2.0的「数据问答」或回到SQL。下列场景可闭眼选Power Query:

  • 每月区域分公司上报格式相同的日报;
  • 电商导出的「订单前缀+日期.xlsx」需按行追加;
  • 需要保留文件名称作为「数据来源」字段。
提示:若文件带打开密码或标记为「共享工作簿(旧版)」,Power Query会直接跳过,表现为「0行」;解决方式见第5章。

经验性观察:当文件夹内同时存在「.xls」「.xlsx」「.xlsb」混合格式时,只要在导航器里一次性勾选,Power Query会自动调用对应驱动,但仍建议统一后缀,否则「扩展名筛选」步骤将产生冗余分支,增加后续维护心智负担。

3. 操作路径:Windows / macOS / Linux 最短入口

3.1 Windows 桌面端(版本号:12.2.0.15331)

  1. 启动WPS表格→菜单栏「数据」→「获取数据」→「自文件夹」;
  2. 在弹出的「文件夹路径」对话框选中含工作簿的父目录→「确定」;
  3. 导航器勾选「合并并加载」→选工作表(如Sheet1)→「确定」。

此时自动进入Power Query编辑器,右侧「应用的步骤」已生成:源→导航→追加。若列名不一致,可在此「将第一行用作标题」或「删除空列」。

3.2 macOS 端(Apple Silicon & Intel 通用)

入口与Windows一致,但默认不显示「获取数据」按钮,需:

  • WPS左上角「WPS Office」→「设置」→「功能区域」→勾选「数据工具箱」;
  • 重启后路径同上。经验性观察:macOS版对HFS+区分大小写卷支持良好,但一次追加超过200文件时UI会短暂无响应,30秒后恢复,不影响结果。

补充:macOS若开启「文件保险箱」全盘加密,首次读取时会触发系统解密缓存,耗时比Windows多10%–20%,属正常系统行为,非WPS额外开销。

3.3 信创Linux(统信UOS V20/麒麟V10 SP3)

功能入口被归到「数据→导入数据→自文件夹(Power Query)」。因LoongArch64与ARM64使用QT前端,字体渲染差异会导致列预览出现「###」,双击列宽即可恢复;其余步骤与Windows完全一致。

4. 追加与清洗:五步完成可刷新模型

以下示范把「华东-20251101.xlsx」「华南-20251101.xlsx」等6个文件合并,并新增「来源文件」字段,方便透视表筛选。

  1. 在Power Query编辑器选中右侧「追加查询」→「新建查询」→「自其他源」→「空查询」;
  2. 公式栏输入 = Folder.Files("父文件夹路径"),回车;
  3. 保留「Name」「Folder Path」列,其余删除→「添加列」→「自定义列」→公式 [Folder Path]&[Name];
  4. 点击「自定义列」右侧图标→「合并查询」→选之前的Sheet1查询,匹配列为「自定义列」;
  5. 展开合并后的列,勾选需要保留的字段→「关闭并上载至」→选「数据模型」。

这样生成的主表支持一键刷新;当总部明天再发来6个新文件,只要放进同一文件夹,点击「数据→刷新全部」即可在4秒内完成追加。

示例:某零售企业把门店POS日报按「门店编号_日期.xlsx」命名,总部财务利用上述模型,每天只需把门店上传的压缩包解压到同一共享盘,刷新后透视表自动展示昨日销售额与客单价,无需人工干预。

5. 常见失败分支与回退方案

5.1 现象:导航器列表为空

可能原因:文件被加密、文件名含「~$」临时符号、父目录权限为只读。验证:在资源管理器手动打开任一文件是否提示密码;若有,移除密码或改用「自工作簿」手动导入。回退:回到「源」步骤,把「扩展名筛选」中的「~*.xlsx」条件删除。

5.2 现象:追加后列错位

原因:各表列名大小写或空格不一致。解决:在「将第一行用作标题」后,再添加「转换→格式→清除空格与大小写」步骤;若列名完全乱序,可勾选「追加查询选项→按列名匹配」。

5.3 现象:刷新时间随文件数线性增长

经验性观察:当文件>500个且单文件平均15 MB时,刷新耗时从30秒升至5分钟;缓解:在「源」步骤添加「文件属性筛选→修改日期>=今天-7」,先增量合并,再周期性地「关闭并加载到→新查询→二进制合并」归档历史。

6. 性能与兼容性实测数据

平台文件数×大小峰值内存刷新耗时结果行数
Win11 x64120×10 MB1.7 GB38 s2.4 M
macOS 14120×10 MB1.9 GB45 s2.4 M
UOS+LoongArch120×10 MB2.1 GB55 s2.4 M

测试条件:同一NVMe SSD,关闭其他程序,WPS版本12.2.0.15331;可见刷新耗时在信创CPU上增加约45%,但仍属可接受范围。

进一步对比发现,当把120个文件提前压缩为「.zip」并启用「二进制合并」后,Win平台内存峰值降至1.3 GB,耗时缩短到28秒,证明「二进制合并」是内存敏感场景的首选策略。

7. 适用/不适用场景清单

  • ✅ 每日新增<100个文件、列结构90%一致;
  • ✅ 需要把文件名/修改日期作为数据列;
  • ✅ 团队无VBA维护人员,却要求可刷新;
  • ❌ 源文件使用「共享工作簿(旧版)」且无法取消;
  • ❌ 需要按多列复杂JOIN(如订单+SKU+日期)横向合并;
  • ❌ 单表需超过1048576行且要回写至xlsx(考虑用WPS CSV导出+分区透视)。

8. 与第三方自动化工具协同

经验性观察:若企业已部署「第三方归档机器人」每日把邮件附件另存至共享盘,只要保证文件名唯一,Power Query无需额外插件即可识别;但需给机器人账户「读取+修改」权限,否则刷新时会出现「共享冲突」警告。权限最小化原则:机器人仅对「落地目录」拥有读写,禁止删除,防止历史数据丢失。

示例:某券商使用Python脚本自动把交易所下发的XBRL实例文档重命名为「股票代码_报告日期.xlsx」,Power Query通过「自文件夹」读取后,再用「列拆分」提取股票代码,实现一键更新全行业财报库,全过程无需打开单份文件。

9. FAQ:高频疑问一次讲透

Q1:能否合并CSV或TXT?
A:可以,在「自文件夹」导航器里把扩展名筛选改为「.csv」,后续步骤相同;但CSV默认无数据类型,需在「更改类型」手动设定整数/日期,否则透视表会把数字当文本计数。

Q2:刷新能否定时?
A:WPS暂不提供像Power BI的「按小时刷新」;可用系统计划任务调用wps-etl-cli(2025新增命令行)打开表格再关闭,实现无人值守,示例命令:

wps-etl-cli --open="主表.xlsx" --refresh-all --save --quit

Q3:合并后能否回写到MySQL?
A:在「关闭并加载」选「数据模型」,再通过「数据→导出→MySQL」插件(需另外安装金山数据网关)即可;注意字段类型冲突会导致写入失败,先本地建同名空表可绕过。

Q4:刷新报错「密钥与方案不匹配」?
A:原因:你把查询从A电脑复制到B电脑,但M脚本里含硬编码路径「C:\Users\OldUser\Desktop」。解决:在「源」步骤把路径改为参数,或直接使用「= Excel.CurrentWorkbookPath()」相对引用。

Q5:能否按子文件夹递归合并?
A:在「源」步骤把「Folder.Files」改为「Folder.Contents」并勾选「包含子文件夹」即可,但性能会随层级指数下降,建议保持一级目录。

Q6:刷新后数字变文本,求和为0?
A:CSV无数据类型,需在「更改类型」使用「locale zh-CN」显式声明小数点为「.」,否则「1.23」会被当文本。

Q7:Mac无法识别「//」网络路径?
A:在「自文件夹」对话框使用「smb://」协议完整地址,并在钥匙串保存凭据;若仍失败,可先在Finder挂载共享盘,再用「/Volumes/共享盘」路径。

Q8:能否跳过隐藏行列?
A:Power Query默认读取整张UsedRange,隐藏行列也会被导入;若需跳过,先在「导航」步骤勾选「选择多项」→仅选可见区域命名范围,但前提是你提前在源文件定义名称。

Q9:刷新时提示「内存不足」?
A:32位WPS单进程上限约1.8 GB,建议换64位并启用「二进制合并」;若仍不足,可把历史文件按月份拆分子文件夹,用「参数表+函数查询」分而治之。

Q10:合并后日期列出现「2025/05/20 00:00:00」?
A:Excel内部把日期当浮点数,带时间尾数。在Power Query里把该列「格式→日期」即可去除时间,透视表将不再出现「20日」与「20日 00:00:00」两条切片。

10. 最佳实践检查表(上线前对照)

文件命名:统一「前缀_YYYYMMDD.xlsx」,避免特殊符号;

列名模板:提供「标准表头.xlsx」给分公司,Power Query中以它为准进行「按列名匹配」;

数据类型:在Power Query里把日期、金额显式设定,防止地区分隔符差异;

刷新测试:上线前先复制200份空壳文件,确认耗时与内存峰值;

权限管控:落地目录启用「只读+写入」但不允许删除,避免历史被误清空;

备份策略:主表.xlsx启用WPS「版本时光机」,365天内可秒级回退。

11. 版本差异与迁移建议

2024及更早版本WPS未内置Power Query,只有「数据→导入文本」功能;若老用户打开含M查询的文件,会提示「查询无法刷新」。迁移路径:用2025版打开→「数据→查询→导出连接文件」→发给旧版同事,对方可查看静态结果但无法刷新;若需协作,务必统一升级至12.2以上。

提示:若企业批量终端受集团WSUS管控,可用「配置管理工具」推送「WPS Office 2025 安装包」并加参数「/quiet /accepteula」静默升级,升级后原VBA宏与自定义工具栏不会丢失,但Power Query需重新登录账号激活。

12. 未来趋势:WPS AI与Power Query融合展望

据2025金山办公技术峰会公开路线图,下一版(预计2026 Q1)将把WPS AI 2.0的「数据问答」直接嵌入Power Query编辑器,用户可用自然语言「把销量列按门店透视并找出Top10」生成M步骤,进一步降低学习曲线。同时计划支持「增量二进制压缩」减少50%内存占用,届时单机能轻松处理超过2 GB的文件夹合并。

13. 案例研究

13.1 中小连锁零售:60家门店日报合并

背景:60家门店每晚10点通过钉钉机器人自动上传「门店ID_日期.xlsx」至共享盘。IT人员使用Power Query搭建主模型,追加后生成「销售日报」透视表。

做法:①统一模板含「门店、品类、销售额」三列;②在Power Query添加「文件名」字段作为门店ID;③设置「修改日期>=今天-1」增量筛选。

结果:刷新耗时从最初3秒升至8秒(文件数180),内存峰值1.4 GB;财务每日节省1小时人工复制。

复盘:早期出现「列错位」系门店手工增删列,后通过「标准表头.xlsx」强制按列名匹配解决。

13.2 大型制造集团:跨区域供应链对账

背景:5个生产基地每日生成「物料进出库.xlsx」,单文件30 MB,列数120,需总部合并后对账。

做法:①采用「二进制合并」减少内存;②把历史文件按月归档,主查询仅拉取当月;③使用「参数表」动态切换年份。

结果:150份文件合并后行数2800万,刷新耗时2分10秒,峰值内存2.8 GB;对账周期由3天缩至半天。

复盘:曾因权限不足导致「0行」,排查发现基地上传服务账号对共享盘为只读,提升写入权限后正常。

14. 监控与回滚

14.1 异常信号

刷新报错「数据源找不到」、行数突降超过30%、耗时较前一日翻倍。

14.2 定位步骤

①查看「查询设置」→「应用的步骤」哪一步出现警告图标;②点击该步骤,检查右侧预览是否为空;③用「查看本地文件夹」核对文件是否被加密或改名。

14.3 回退指令

在「查询设置」右键→「删除到此处」可回退到任意步骤;若已加载错误数据,可在「数据→查询和连接」→右键「加载到…」→选「仅创建连接」,避免覆盖原表。

14.4 演练清单

每季度做一次「灾难演练」:①随机移动10%源文件;②在主表点击刷新,记录报错信息;③按Runbook回退,验证10分钟内恢复。

15. 术语表

M脚本:Power Query的函数式语言,全称M Formula Language,见第4章步骤2。
二进制合并:直接把多个文件当二进制读取再拆分,减少内存,见第6章。
共享工作簿(旧版):Excel 2003遗留功能,与Power Query不兼容,见第2章提示。
数据模型:WPS内置的列式存储引擎,支持超过104万行,见第4章步骤5。
参数表:用「管理参数」功能创建的动态值,可用于路径、日期过滤,见第13.2。
刷新:重新执行所有查询步骤,快捷键Ctrl+Alt+F5,见第1章。
导航器:选择工作表与区域的预览窗口,见第3章。
按列名匹配:追加时忽略列顺序,以列名对齐,见第5.2。
增量筛选:通过文件属性「修改日期」只读新文件,见第5.3。
版本时光机:WPS云文档的历史版本功能,保留365天,见第10章。
数据问答:WPS AI 2.0的自然语言查询功能,见第2章。
LoongArch64:国产龙芯指令集,见第3.3。
HFS+:macOS旧文件系统,区分大小写,见第3.2。
NVMe SSD:测试所用固态硬盘,见第6章。
WSUS:Windows Server Update Services,见第11章。
Runbook:应急操作手册,见第14章。
透视表:WPS表格的PivotTable,见第4章示例。

16. 风险与边界

①单文件超过1 GB时,即使二进制合并也可能触发「内存不足」,需改用「分块读取」或SQL Server外部链接;②「共享工作簿」无法取消的场景,只能退回VBA或手动复制;③Power Query不支持回写至受保护的工作表,需先解除保护;④若目标文件需交付给海外客户,注意GDPR对个人信息的跨境传输要求,建议提前删除敏感列再导出。

结语

WPS Power Query批量合并工作簿图解的核心价值,是把「文件夹→追加→清洗」这一高频需求做成可视化、可刷新、零代码的标准化流程。只要遵循「命名统一、列模板先行、增量刷新」三原则,你就能在10分钟内搭好一个随文件增长而自动扩展的数据模型,把重复劳动压缩到一键刷新。下次再收到「把100个分公司的日报合一下」的临时需求,你只需把附件拖进目录,点一下刷新,剩下的时间可以喝杯咖啡——这就是自动化该有的样子。

Power Query批量合并工作簿自动化数据清洗