Power Query从文件夹取数时直接导入.xls格式文件的方法咨询
Power Query直接读取.xls格式文件的可行方案
方案1:调整内置解析参数适配旧版格式
这是最便捷的方案,不需要额外安装组件,仅需要修改默认的导入逻辑即可:
- 依次点击Excel功能栏「数据」→「获取数据」→「自文件」→「自文件夹」,选择存放.xls文件的目标文件夹,确认后进入文件预览页
- 不要直接点击「合并数据」,选择「转换数据」进入Power Query编辑器
- 新增自定义列,列名可自定义,公式填写
Excel.Workbook([Content], true, true)- 第二个参数
true代表自动提升第一行作为表头,不需要可以改为false - 第三个参数
true代表启用旧版.xls格式兼容解析,是解决识别失败的核心配置
- 第二个参数
- 展开新增的自定义列,筛选需要提取的工作表/表数据即可完成批量导入,全程无需修改原文件格式
方案2:ODBC驱动读取(适配特殊格式.xls文件)
如果方案1遇到解析报错,通常是因为.xls文件包含旧版宏、特殊单元格格式、轻度损坏等问题,可改用系统ODBC驱动读取:
- 依次点击「数据」→「获取数据」→「自其他源」→「从ODBC」
- 数据源选择「Excel Files」,点击「高级选项」,在连接字符串输入框填入以下内容,将示例路径替换为你的实际文件夹路径:
DBQ=C:\你的\xls文件存放路径;DefaultDir=C:\你的\xls文件存放路径;Driver={Microsoft Excel Driver (*.xls)};DriverId=790;FIL=excel 8.0;MaxBufferSize=2048;PageTimeout=5; - 执行查询后即可看到文件夹下所有.xls文件的工作表列表,按需筛选后展开数据即可
常见问题排查
- 若仍读取失败,先检查单个.xls文件是否可以正常打开、是否设置了打开密码,加密文件需要先移除密码才能批量读取
- 64位Office如果提示找不到.xls对应驱动,安装对应版本的Access Database Engine适配包即可解决
内容的提问来源于stack exchange,提问作者Arjun Khurana
相关产品推荐
相关产品推荐

