我的工作从客户那里收到每月的银行对账单,我们需要将其导出到 Excel(或其他一些工作表)并合并到一张表中,最好是一张表。
银行对账单通常采用相同的格式,但有些月份的交易量比其他月份多,因此我需要提取的特定表格可以位于 pdf 上的不同位置/页面。
我可以使用 PowerQuery/GetData 从一个 PDF 中提取信息,并手动选择正确的表格,效果相当不错,但这很慢,并且将每个表格合并到我们可以使用的内容中需要花费大量时间。
我知道 PowerQuery 可以从文件夹中提取数据,但它需要文件夹中第一个 pdf 中的示例表来确定要提取哪些表,并且由于这些表位于不同的位置,因此无法提供我需要的内容。
有人对在合并文件之前覆盖 excel 为每个 pdf 提取的表或任何其他解决方法有任何建议吗?
谢谢 丹
这是在不提前知道格式的情况下组合目录中所有 PDF 的基本方法
let Source = Folder.Files("c:\temp9\"),
#"Filtered Rows" = Table.SelectRows(Source, each ([Extension] = ".pdf")),
#"Added Custom" = Table.AddColumn(#"Filtered Rows", "Data", each Pdf.Tables(File.Contents([Folder Path]&[Name]))),
#"Renamed Columns" = Table.RenameColumns(#"Added Custom",{{"Name", "zName"}}),
List = List.Union(List.Transform(#"Renamed Columns" [Data], each Table.ColumnNames(_))),
#"Expanded Data" = Table.ExpandTableColumn(#"Renamed Columns" , "Data", List,List)
in #"Expanded Data"
然后您将过滤 ID 列以选取所需的项目类型(以表格开头、以页面开头等),然后转换并展开数据列