利用Power Automate批量读取PDF信息,并自动汇总到Excel
作者:Excel_sTudio 会计师、Office资深用户、PowerBI星球嘉宾。曾在上市公司担任财务经理等职务,现在某三乙公立中医院财务科担任科员
之前介绍过一个利用PowerQuery批量合并PDF表格的方法(PDF转Excel,我有两个秘籍,推荐给你!),这种只适合纯表格的PDF的简单合并,对于其他情况的PDF并不适合,比如批量从PDF格式的发票中提取部分关键信息并合并到excel。
PowerBI星球嘉宾Excel_sTudio老师,提供了一个更通用的方法,利用Power Automate批量读取PDF文件中的关键信息并导入到Excel,下面来看看是怎么做的吧~
正文
业务场景说明:
今天领导大毛发了小E同学许多PDF格式的TAX
INVOICE(发票),并要求小E今天下班前将发票信息整理成Excel格式。在经过短暂思考后小E同学选择了PAD(Power AutoMate Desktop,以下简称PAD)来完成这项工作。
下面是操作步骤:
第一步:确定需求
转换样本示例,这个PDF文档,有很多信息,假设我们只提取PDF中的部分信息,其他信息不需要(已虚化脱敏)。

第二步:整理好PDF文件和存放的Excel文档

记住路径:
C:\Users\1\Downloads\用PQ提取文件夹PDF发票信息\用PQ提取文件夹PDF发票信息
同时Excel设置好表头(如第一步PDF文件中的表格表头)。
第三步:利用Power Automate Desktop提取PDF信息
1、下载Power Automate
Desktop并创建流
下载地址:https://powerautomate.microsoft.com/zh-cn/robotic-process-automation

点击"免费开始",然后按提示操作即可。
如果不方便下载,也可以在PowerBI星球公众号后台发送“PAD”获取安装包。
下载安装完成后,注册账号并创建一个流。

2、提取PDF文件路径
选择PDF所在文件夹提取所有PDF格式后缀的文件路径并存入生成的变量Files中。

3、点击for each 循环
点击红圈的X可以选择上一步生成的Files变量 ,也可以手动输入。

这一步是遍历Files中的每个PDF文件(CurrentItem变量)。
4、将"PDF中提取表"功能拖拉到如下图的for each 循环中间,读取的PDF(变量CurrentItem)。

5、如上设置好后我们点击运行成功后双击查看“ExtractedPDFTables”所需要的数据在什么地方。



6、为了方便这里我们使用一个变量newvar来存储上一步找到内容ExtractedPDFTables[0].DataTable

(注意写法%ExtractedPDFTables[0].DataTable%)
7、这里分别设置Row(行)和Col(列)变量用作输出到Excel单元格行列参数。

8、在Excel操作区拖拉启动Excel到下图的位置,设置启动第二步整理好的Excel文件。

9、同上面第5小步一样运行查看newvar 变量中的“Item“、“Hsn”等项目所在的位置如下图:

行列都是0开始,4个项目分别在12行1列、12行3列、12行4列、12行6列。
10、开始写入Excel文档

同时设置col 1

依次循环4次将对应的值填入Excel指定单元格。
11、最后一步就是关闭与保存Excel。

12、动态运行效果如图,基本没有代码输入,全程都是拖拉流程和设置参数。

13、最后以下是脚本语言(复制后可直粘贴到PAD上修改下参数可用)。
Folder.GetFilesFolder: $'''C:\\Users\\1\\Downloads\\用PQ提取文件夹PDF发票信息\\用PQ提取文件夹PDF发票信息''' FileFilter: $'''*.pdf''' IncludeSubfolders:False FailOnAccessDenied: True SortBy1: Folder.SortBy.NoSort SortDescending1:False SortBy2: Folder.SortBy.NoSort SortDescending2: False SortBy3:Folder.SortBy.NoSort SortDescending3: False Files=> FilesSET Row TO 1Excel.LaunchExcel.LaunchAndOpenUnderExistingProcessPath: $'''C:\\Users\\1\\Downloads\\用PQ提取文件夹PDF发票信息\\用PQ提取文件夹PDF发票信息\\PDF.xlsx''' Visible: TrueReadOnly: False Instance=> ExcelInstanceLOOP FOREACHCurrentItem IN Files
Variables.IncreaseVariable Value: RowIncrementValue: 1
SET Col TO 1
Pdf.ExtractTablesFromPDF.ExtractTablesPDFFile: CurrentItem MultiPageTables: True SetFirstRowAsHeader: TrueExtractedPDFTables=> ExtractedPDFTables
SET NewVar TOExtractedPDFTables[0].DataTable
Excel.WriteToExcel.WriteCell Instance:ExcelInstance Value: NewVar[12][1] Column: Col Row: Row
Variables.IncreaseVariable Value: ColIncrementValue: 1
Excel.WriteToExcel.WriteCell Instance:ExcelInstance Value: NewVar[12][3] Column: Col Row: Row
Variables.IncreaseVariable Value: ColIncrementValue: 1
Excel.WriteToExcel.WriteCell Instance:ExcelInstance Value: NewVar[12][4] Column: Col Row: Row
Variables.IncreaseVariable Value: ColIncrementValue: 1
Excel.WriteToExcel.WriteCell Instance:ExcelInstance Value: NewVar[12][6] Column: Col Row: Row
Variables.IncreaseVariable Value: ColIncrementValue: 1ENDExcel.CloseExcel.CloseAndSaveInstance: ExcelInstance

令人心跳加速的4个网站!
hello大家好,这里是正常上班开始日更的老Y工作室。五一小长假就这样悄无声息的结束啦,大家也是时候收收心,开始为生计奔波搬砖啦,忘掉外面的人山人海,可以专注工作和摸鱼啦。宅家里几天的老Y依然给大家带来一些好玩的网站,朋友们也可以给老Y留言,聊聊旅行中的囧事01、在线免费白板访问地址:/站长网2023-07-27 09:59:070000手机放口袋一定要关闭这个功能,很多人还不知道,看完涨知识了
站长网2023-07-30 10:07:090002计算机网络技术(计算机网络技术主要学什么)
计算机网络技术(Computer Network Technology)是中国普通高等学校专科专业。专业代码是510202,该专业的修业年限是三年。计算机网络技术主要研究计算机网络和网络工程等方面基本知识和技能,进行网络管理、网络软件部署、系统集成、网络安全与维护、计算机软硬件方面的维护与营销、数据库管理等。站长网2023-03-24 13:34:030002ps风景照换背景视频:虚化背景长发抠图技巧边缘杂色净化
ps风景照换背景视频|ps虚化背景抠图视频|ps长发抠图技巧视频|ps边缘杂色净化视频本视频教程由部落窝教育分享。站长网2023-07-29 08:11:440000才发现!微信右上角的“ ”号,隐藏5个强大的功能,真的涨知识了
站长网2023-07-29 12:20:310003