Power Query导入数据至Power Pivot时出现文件加载错误如何解决
问题原因
- 核心诱因是你使用的32位Excel存在2GB内存使用上限,你要处理的120万行CSV数据经过Power Query转换、加载到Data Model,再叠加已存入Data Model的工作表数据,总内存占用超过2GB阈值,触发内存不足报错。
- 你看到的程序集加载失败提示属于报错连锁反应,不是系统缺少对应dll文件,本质是内存不足无法完成依赖项加载操作。
- 额外叠加因素:如果Power Query保留了多余转换步骤、未提前删除冗余列、同时加载多份数据,都会进一步拉高内存占用,加快内存上限触达速度。
解决方案
根本解决方案
直接更换为64位版本Office,64位Excel无2GB内存限制,内存占用上限跟随系统可用内存走,可直接满足百万行级数据的处理需求,彻底解决内存不足报错。
临时优化方案(暂时无法更换64位Office时使用)
Power Query处理阶段优化
- 导入CSV后第一时间删除所有不需要的列,仅保留后续分析必须用到的字段,降低原始数据加载量
- 非必要的计算列不要在Power Query中生成,转移到Power Pivot中用DAX公式创建,可降低加载阶段的内存占用
- 操作前先清除Excel数据缓存:依次点击
文件-选项-数据-清除Power Query缓存,关闭「后台加载」选项
数据加载阶段优化
- 不要同时加载多份数据到Data Model,先单独加载Power Query转换后的收据数据,确认加载成功后再导入工作表的小表,避免峰值内存占用过高
- 加载操作时关闭其他所有占用内存的软件,包括其他Office进程、浏览器、后台应用等,尽可能给Excel预留更多可用内存
- 若仍加载失败,可将原始CSV拆分为多个少于40万行的小文件,通过Power Query追加查询的方式分段合并导入Data Model
关联操作优化
- 两张表用来做关联的字段尽量调整为数值类型,避免用长文本字段做关联,可降低关联操作的内存消耗
- 关联前先清理Data Model内的冗余数据,删除无用的隐藏表、重复导入的历史数据,释放已占用的内存空间
内容的提问来源于stack exchange,提问作者Bret
相关产品推荐
相关产品推荐

