WPS表格如何用Power Query合并百份Excel并自动去重?
WPS官方团队
作者

WPS表格内置Power Query可一次合并百份Excel并自动去重,本教程给出完整路径、性能阈值与回退方案,兼顾新手与进阶。
功能定位:Power Query在WPS表格里能做什么
Power Query(PQ)是WPS表格2026版正式落地的“数据获取与转换”引擎,核心职责只有两件:把多源数据拉进来,把脏数据洗出去。与早期“数据透视表-多重合并”相比,PQ支持文件夹级批量追加、列级去重、M语言自定义,且全程可刷新,不再生成臃肿的“中间工作簿”。
经验性观察:当文件数>50、单文件行数>5万时,PQ的折叠式查询(Query Folding)能把合并耗时压到传统VBA的1/3以下;但若文件<10且字段完全一致,直接用WPS“数据-合并计算”反而更快,这是取舍起点。
版本与入口:Windows、Linux、Mac路径差异
Windows桌面(x86 & ARM)
菜单栏:数据 → 获取数据 → 自文件夹 → 从Excel工作簿。若未见“获取数据”,请检查版本号是否≥15.1.0.8836(帮助 → 关于WPS表格)。
Linux(统信UOS/麒麟)
路径相同,但首次启动需手动加载PQ插件:选项 → 加载项 → COM加载项 → 勾选“Power Query for Linux”。经验性观察,Linux下PQ不支持OLE DB折叠,百万行以上可能出现内存峰值,建议分批文件夹。
macOS
截至当前最新版本,macOS版WPS表格尚未原生集成PQ,可用“数据-文本导入-追加”临时替代,或远程连接到Windows云桌面跑查询后回传结果。
前置检查:百份Excel的合规条件
PQ合并不是“万能黑洞”,以下任一情形会导致查询失败或去重失效:
- 文件受IRM权限保护(文件-信息-保护 workbook),需先另存为无保护副本;
- 工作表名称不一致(如“Sheet1”vs“data”),需在PQ中用“转换-使用第一行作为标题”统一;
- 含合并单元格,PQ会返回“Error: Cell reference”并中断追加,需提前拆表;
- 文件体积>50 MB且含富文本框,PQ加载时可能触发“内存不足”,可改用“添加自定义列-删除其他列”先筛选必要字段。
工作假设:若单文件夹总体积>2 GB,即使本机内存32 GB,PQ也可能在“加载到表”步骤卡死。验证方法:先在PQ里勾选“仅创建连接-不加载到工作表”,观察导航器预览是否秒开;若预览已卡顿,建议拆分子文件夹或改用Data Model。
核心步骤:合并百份Excel并自动去重
- 把待合并文件放在同一文件夹,确保再无其他格式文件;
- 数据 → 获取数据 → 自文件夹 → 浏览定位到该文件夹 → 确定;
- 在“文件夹导航”窗口,选中“合并并加载” → “Excel工作簿” → 勾选“将第一行用作标题”;
- 进入Power Query编辑器,选中关键列(如订单号、手机号),右击 → 删除重复项;
- 若需保留最新记录,先按“更新时间”降序排序,再去重;
- 主页 → 关闭并加载至… → 选择“仅创建连接”+“添加到数据模型”,可显著降低工作簿体积;
- 后续只需右键“刷新”,新增文件会被自动追加并重新去重。
示例:某跨境电商财务每天从Amazon、TikTok Shop导出CSV,经第三方工具转存为Excel后丢入“每日销售”文件夹。按上述步骤设置PQ,早班同事8:30点击刷新,30秒内即完成前日6万行订单合并与唯一性校验,较手工复制粘贴节省约25分钟。
性能阈值与测量方法
| 硬件/场景 | 文件数×平均行数 | 耗时(可复现观测) | 内存峰值 |
|---|---|---|---|
| i5-1240P/16 GB/SSD | 100×2万行 | 约35秒 | 约3.8 GB |
| Ryzen 7 7840HS/32 GB/SSD | 300×5万行 | 约2分10秒 | 约11 GB |
测量方式:在Windows性能监视器添加“Process(ksospreadsheet.exe)\Working Set”计数器,刷新前清零日志,取刷新过程中的峰值。经验性观察,当行数>1千万时,32 GB内存机器也会触发磁盘交换,建议改用64 GB或分批查询。
常见失败分支与回退方案
现象:刷新时报“无法找到文件”
原因:原文件被移动或重命名。PQ默认记录绝对路径。处置:在PQ编辑器 → 数据源设置 → 将“绝对路径”改为“相对路径”,或把新文件同名覆盖旧文件。
现象:去重后行数依旧多于预期
原因:关键列含不可见字符(\u00A0、\r)。处置:转换 → 格式 → 清除 → 清除非打印字符,再去重。
现象:加载到工作表时提示“无法写入,因为会超出工作表行数”
原因:结果>1,048,576行。回退:在“关闭并加载至”中选择“只创建数据模型”,然后用数据透视表进行汇总,或导出到CSV。
与第三方机器人/脚本协同
若企业已部署RPA(如UiPath、第三方归档机器人),可在流程末尾增加“触发WPS表格刷新”动作:在RPA中调用Windows快捷方式,指向含PQ查询的工作簿,后接“发送热键Ctrl+Alt+F5”实现无人值守刷新。注意:RPA需以同一Windows用户身份运行,否则会出现数据源权限弹窗。
提示:RPA刷新前,先让脚本检查文件夹内是否生成“_OK”标志文件,确保上游数据已写完,避免PQ读到半写入文件导致空表。
不适用场景清单
- 实时性<5分钟的流式数据:PQ刷新最低延迟也在数十秒,且不支持监听文件系统事件;
- 需要行级版本追溯:PQ去重后丢弃重复行,无法保留“谁覆盖谁”的审计痕迹;
- 源文件列结构每周变化:PQ追加查询依赖列名匹配,频繁增删列会导致“列找不到”错误,需额外维护“列映射表”;
- 受监管禁止离境数据:若公司使用WPS国际云,需确认“数据模型”是否上传至海外节点,否则应选本地连接模式。
最佳实践12条检查表
- 统一文件夹,拒绝人工混入非Excel文件;
- 统一工作表名,必要时用PQ参数“转换-重命名工作表”;
- 统一列名与顺序,先建“模板文件”让业务方照抄;
- 先“仅创建连接”验证预览,再决定是否加载到表;
- 去重前先做“排序”,确保留下的是最新记录;
- 关键列加“清除非打印字符”步骤,避免空格陷阱;
- 文件>50 MB时,勾选“忽略列错误”防止单格异常中断整行;
- 结果>百万行时,用数据模型+透视表代替直接落地;
- 每月用“查询依赖关系图”清理废弃步骤,降低M语言膨胀;
- 刷新耗时>5分钟时,启用“快速合并”选项(关闭文件属性列);
- 政企内网若禁用宏,则PQ为唯一可审批的自动化出口,优先申请;
- 备份模板工作簿到只读共享,防止新手误改查询步骤。
FAQ:Power Query合并常见问题
刷新时提示“访问被拒绝”怎么办?
通常因文件被其他进程独占。关闭所有Excel实例,或在PQ数据源设置里勾选“打开时以只读方式”,即可绕过锁。
Mac版WPS何时支持PQ?
截至当前最新版本,官方尚未公布具体时间表。可先用Bootcamp或远程桌面过渡。
去重后还能恢复原始数据吗?
PQ查询步骤不可逆,但源文件未被修改。如需追溯,应把“去重”步骤改为“保留重复项标记”列,再另行筛选。
能否定时自动刷新?
WPS暂无内置计划任务,可借助Windows任务计划+RPA脚本,调用COM接口workbook.RefreshAll()实现。
刷新后格式全消失,如何保留?
PQ结果属于“数据区域”,不携带格式。应在加载后使用“表格样式”或条件格式,刷新时样式会自动向下复制。
收尾:下一步行动建议
如果你正被“每天百份Excel”折磨,先按本文检查表准备好源文件,再花10分钟跟着步骤跑一次PQ。刷新成功后,把查询工作簿存为模板并加上只读密码,就能让同事“一键刷新”而无需接触M语言。当数据规模突破千万行或需要分钟级实时时,再评估迁移到专业ETL或数据库,现阶段WPS表格+Power Query已能在成本与性能之间给出最优解。
📺 相关视频教程
Excel Power Query 合併&連動多張工作表 #excel #googlesheets #shorts|#今日訊息
标签
分享文章
相关文章推荐



如何跨工作表批量替换WPS表格中的#DIV/0!等错误值?
WPS表格跨工作表批量替换#DIV/0!等错误值,用定位条件+查找替换两步完成,支持正则与公式兜底,桌面与移动端路径全给。
