如何使用Power Query识别PDF中固定表头的表格并批量导入Excel?
批量导入不同页面的PDF表格到Power Query(表头一致)
步骤1:获取目标PDF文件列表
- 打开Excel,切换到「数据」选项卡,依次点击「获取数据」→「从文件」→「从文件夹」
- 选择存放所有目标PDF的文件夹,点击「确定」
- 在文件预览界面,点击「转换数据」进入Power Query编辑器
步骤2:批量提取每个PDF的所有表格数据
- 在Power Query编辑器中,添加自定义列:
- 点击「添加列」→「自定义列」,输入公式:
Table.FromRecords(Pdf.Tables([Folder Path]&[Name], [Implementation="1.3"])[Tables]) - 点击「确定」后,新列会包含每个PDF里提取出的所有表格
- 点击「添加列」→「自定义列」,输入公式:
- 点击新列右侧的展开按钮,选择「Table」列进行展开(忽略其他无关列)
步骤3:筛选出匹配目标表头的表格
- 添加自定义列用于校验表头:
- 假设你的标准表头是
{"订单号", "客户名称", "金额"},输入公式:List.ContainsAll(Table.ColumnNames([Table]), {"订单号", "客户名称", "金额"}) - (如果表头存在大小写/空格差异,可先用
List.Transform(Table.ColumnNames([Table]), Text.Trim)或Text.Lower统一格式后再判断)
- 假设你的标准表头是
- 筛选该自定义列的值为
true的行,仅保留符合表头要求的表格
步骤4:标准化表格并合并数据
- 对保留的「Table」列,添加自定义列来提升表头(确保表头作为列名):
Table.PromoteHeaders([Table], [PromoteAllScalars=true]) - 展开这个处理后的Table列,选择所有需要的字段
- 按需移除空行、清理冗余格式后,点击「关闭并上载」,将合并好的数据导入Excel工作表
内容的提问来源于stack exchange,提问作者chi05
相关产品推荐
相关产品推荐

