利用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
手机不建议下载这6类软件,会造成卡顿,还会弹出很多烦人的广告
站长网2023-07-28 11:50:060000天呐!不愧是精通电脑的高手,原来早就把键盘上的功能全搞清楚了,并
天呐!不愧是精通电脑的高手,原来早就把键盘上的功能全搞清楚了,并且还详细写了出来,让人一看就懂,不得不说即使是电脑小白,也能看清楚明白。建议大家保存下来,尤其是办公室白领、学生或者是经常需要使用的人,尽早把这些快捷键和按键功能背书,不但可以快速提高工作效率,还能彻底解决日常遇见的问题,助你成为电脑高手,瞬间让你在同事与同学当中脱颖而出。站长网2023-07-30 15:31:570002在Ps教材中,合并图层是一项重要的操作,它能将多个图层合成一个新图层,使得图层更加简洁明了
以下是合并图层的操作步骤和概念。👉1、选择需要合并的图层:在图层面板中选中要合并的图层,按下Ctrl/Command键,点击另一个要合并的图层。👉2、合并图层:点击图层面板右上角的“选项”按钮,选择“合并选定图层”或“合并可见图层”。👉3、合并选定图层:将选中的图层合并成一个新的图层,以选中的第一个图层的名称命名。站长网2023-07-27 16:20:530000VBA案例——导航模块的制作
链接-->:Excel人事档案管理的制作,EXCEL人事档案管理系统设计开发案例--删除模块演示这两天小编对上一篇Excel人事档案管理的制作整体都重新做了规划和设计了一下,修改了之后相比之前要专业得多。用选卡的形式来表现和设计,从布局到配色等都经过较大的改动。先看下演示效果吧:今天跟大家分享导航模块制作。看下演示效果:导航模块制作步骤:1.按键制作:站长网2023-07-27 09:17:310000