Excel 2016刷新查询报错:Microsoft.Mashup.OleDb.1未注册
我之前帮不少用户排查过这个Excel查询刷新的问题,结合你给出的报错信息和连接字符串,下面是几个经过实践验证的修复步骤,你可以逐一尝试:
检查Office版本位数匹配
Microsoft.Mashup.OleDb.1驱动分32位和64位版本,必须和你的Excel 2016位数完全一致才能正常工作。你可以通过文件>账户>关于Excel查看当前Office的位数。如果发现位数不匹配,要么卸载现有Office重新安装对应位数的版本,要么确保你使用的查询工具(比如Power Query)和Office位数保持一致。修复Office安装
这个驱动是Office自带的核心组件,很可能是安装文件损坏导致驱动未正确注册。操作步骤如下:- 打开控制面板,找到
程序和功能 - 找到Microsoft Office 2016,右键选择
更改 - 先选择
快速修复,完成后重启Excel尝试刷新查询;如果问题依旧,再选择联机修复(这个修复更彻底,但耗时稍长)
- 打开控制面板,找到
手动注册OLEDB驱动
如果Office修复后还是报错,可以尝试手动注册驱动文件。注意一定要以管理员身份运行命令提示符:- 若你使用的是64位Office,执行命令:
regsvr32 "C:\Program Files\Common Files\Microsoft Shared\Power Query\Microsoft.Mashup.OleDb.1.dll" - 若你使用的是32位Office,执行命令:
regsvr32 "C:\Program Files (x86)\Common Files\Microsoft Shared\Power Query\Microsoft.Mashup.OleDb.1.dll"
执行后如果弹出“DllRegisterServer在...成功”的提示,说明注册成功,重启Excel即可。
- 若你使用的是64位Office,执行命令:
确认Power Query(Get & Transform)已启用
Microsoft.Mashup.OleDb.1是Power Query的核心依赖组件,Excel 2016默认应该包含这个功能,但可能被意外禁用了。你可以在Excel的数据选项卡查看是否有获取和转换功能组;如果没有,按照以下步骤启用:- 点击
文件>选项>加载项 - 在“管理”下拉菜单中选择
COM加载项,点击转到 - 在弹出的窗口中勾选
Microsoft Power Query for Excel,点击确定即可。
- 点击
验证连接字符串的正确性
你的连接字符串开头为Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;,请检查后续参数是否存在语法错误,比如多余的分号、未闭合的引号或者拼写错误。如果这个连接字符串是手动输入的,建议通过Excel的查询向导重新生成,避免手动输入带来的错误。
内容的提问来源于stack exchange,提问作者mountainclimber11




