使用 pq 导入公司内部系统导出的 Excel 表格数据不全怎么解决?

Power Query 星梦月缘 ⋅ 于 2020-05-25 08:45:03 ⋅ 最后回复由 yang 2022-06-18 12:28:28 ⋅ 6782 阅读

各位老师好,我们公司内部网页数据系统导出了一个Excel表格,格式是.xlsx的,但是非常奇怪的是我用powerquery,导入文件的时候,发现现实的文件不全,只能加载前三行的数据,后面的数据 都不能加载进去,请问这个是什么原因哈。

我的操作步骤是:新建查询——从工作薄——选择系统中导出的文件——导航器中选择表格——转换数据,预览的时候都发现只有3行数据,加载进去之后发现也只有3行数据。文件大小有1000多kb肯定不止三行数据,

找了一个系统中导出的默认原始文件,麻烦老师有空了帮忙给看下吧,用简单的普通的pQ导入是无法获取完整的数据的,谢谢。
附件:http://club.excelhome.net/forum.php?mod=viewthread&tid=1538821&page=1

本帖已被设为精华帖!
本帖由 Alex 于 4年前 加精
最佳答案
  • Alex MOD 社区清洁工
    2020-05-25 14:13:05

    直接打开附件文件会出现如下提示:
    file
    说明文件本身就有问题,导致PQ获取不到数据,这不能怪PQ。
    点击确定后,出现提示如下:
    file
    经过Excel自动对文件进行修复,直接保存后再次连接就可以获取所有数据了。
    但每次都要打开保存实在太麻烦了,幸好PQ可以用一些其它的方式连接Excel,比如ODBC。
    file
    DSN选择Excel Files,填写连接字符串:dbq=文件路径,SQL填写需要取数的范围:select * from [Sheet名$]
    file
    验证方式选默认,什么都不填点击连接。
    file
    搞定!
    file

    let
        源 = Odbc.Query("dbq=C:\个股现货资金对账表(2020-05-22_2020-05-22)20200525.xlsx;dsn=Excel Files", "select * from [个股现货资金对账表$]")
    in
        源
回复数量: 10
  • Alex MOD 社区清洁工
    2020-05-25 14:13:05

    直接打开附件文件会出现如下提示:
    file
    说明文件本身就有问题,导致PQ获取不到数据,这不能怪PQ。
    点击确定后,出现提示如下:
    file
    经过Excel自动对文件进行修复,直接保存后再次连接就可以获取所有数据了。
    但每次都要打开保存实在太麻烦了,幸好PQ可以用一些其它的方式连接Excel,比如ODBC。
    file
    DSN选择Excel Files,填写连接字符串:dbq=文件路径,SQL填写需要取数的范围:select * from [Sheet名$]
    file
    验证方式选默认,什么都不填点击连接。
    file
    搞定!
    file

    let
        源 = Odbc.Query("dbq=C:\个股现货资金对账表(2020-05-22_2020-05-22)20200525.xlsx;dsn=Excel Files", "select * from [个股现货资金对账表$]")
    in
        源
  • 星梦月缘
    2020-05-26 11:18:48

    大神,真的是太厉害了!!请接受我的膜拜!! 非常感谢!!

  • 莫言 390778374 PBI爱好者群
    2020-09-24 13:39:44

    @Alex 施总 ,碰到类似的问题,不同的是每天需要下载大量的文件,放到固定的文件夹,直接读取有的可以读取出来,有的数据读取不出来,现在需要对这些文件合并汇总,这里如果用ODBC的方式该怎么读入呢?一个一个文件解析太麻烦了,有没有什么简单的办法?

  • Alex MOD 社区清洁工
    2020-09-24 14:01:08

    @莫言 从文件夹合并Excel会吧,就是先连文件夹,得到一张表每一行是一个Excel文件,然后添加列用Excel.Workbook解析文件。这里一样的啊,只是把Excel.Workbook换成Odbc.Query而已。

  • GH_Bear
    2020-11-12 15:41:24

    file
    用LZ的文件可以获取,换自己的文件提示报错,是不是没办法适用所有报错的文件

  • 土豆先森 Excelfocus
    2020-12-18 10:06:01

    这种情况下好像还是不行啊

    file

    这种打开后再odbc就可以获取,但是不打一次,也是获取不了,请问各位大佬,有什么好的方法嘛?

  • Alex MOD 社区清洁工
    2020-12-18 15:13:09

    @土豆先森
    再不行就试试用js打开,参考https://pqfans.com/2645.html

  • 土豆先森 Excelfocus
    2020-12-18 15:18:22

    @Alex 感谢老师,我试试看

  • xiaoni
    2021-03-05 11:38:55

    file老师我用ODBC导出来的为什么投资类型后面的字段全是null呢?

  • yang
    2022-06-18 12:28:28

    @Alex 我也通过你的方法解决了楼主类似的问题。
    @GH_Bear 我刚开始也遇到了和你一样的报错,检查下来是因为 SQL填写需要取数的范围:select * from [Sheet名$]里的$符号没有输入。

暂无评论~~
  • 请务必阅读并严格遵守《社区管理规范与使用说明》
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 发送表情,可用的 Emoji 见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板粘贴上传, 格式限制 - jpg, png, gif
  • 不支持上传附件,请尽可能用文字和图片将问题描述清楚,如实在需要上传附件,可上传到 共享网盘 后分享链接
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
Ctrl+Enter