购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 新冠采样信息录入机器人

近年来,我国人工智能信息技术手段不断提升,越来越多的政府机关单位都开始使用政务机器人,提升政府办公效率,同时也能更高效地为人民提供服务。

本章通过具体的实例介绍如何通过RPA实现新冠疫情采样数据批量录入,实现自动下载并解压新冠采样信息系统,提取Excel数据并录入系统,最后将数据导出后完成校验。

通过本案例,您将学到:

● 等待下载。

● 用户界面自动化。

● 遍历循环。

● 调用方法。

● 提取/解压缩文件。

● Excel应用程序集成。

● Clear Folder组件。

● “对于数据表中的每一行”组件。

2.1.1 需求分析

新冠疫情下,核酸检测呈常态化,有的时候要求5小时内将结果发送至测试者手中,但是由于采集人数多且时间紧急,对数据录入的要求非常高。

本案例借用RPA之家网站的实验室资源,模拟该业务场景,实现下载、解压、打开新冠采样信息系统,下载新冠采样信息表,打开并读取表格数据,将表格数据依次录入保存至新冠采样信息系统内。最后,将本次录入的表格数据导出,以核对是否存在空值,并将结果记录在日志文件中。

1.“新冠采样信息录入”系统的获取

该系统安装包存放在RPA之家,需要先下载压缩包文件至本地,如图2-1所示。接着将压缩包文件解压后进入执行程序所在的文件夹,如图2-2所示,双击图2-3中的.exe文件,打开系统录入界面,如图2-4所示。

图2-1 下载“新冠采样信息录入”系统压缩包

图2-2 打开“新冠采样信息录入”文件夹

图2-3 双击.exe文件

2.“新冠采样信息表”的下载

在RPA之家,单击“新冠采样信息表下载”链接,进行新冠采样信息表的下载,如图2-5所示,并将文件保存在指定路径下。

3.新冠采样信息的录入

在“新冠病毒采样录入”界面,将“新冠采样信息表”Excel文件中的所有信息依次在界面对应的字段进行输入或选择,并单击“保存”按钮进行保存操作,如图2-6所示。

图2-4 系统录入界面

图2-5 下载“新冠采样信息表”

图2-6 新冠病毒采样录入界面

4.新冠采样信息的导出

在新冠采样录入系统的“查询/导出”页,单击“导出”按钮完成导出操作,如图2-7所示。

图2-7 系统数据导

5.进行数据校验

导出的Excel文件的内容格式如图2-8所示,对该记录进行非空校验。

图2-8 数据校验

2.1.2 流程详细设计

根据需求分析,新冠采样信息录入自动化流程的功能模块可设计为4个模块,分别是环境准备、表格准备、数据录入与导出以及数据校验。详细的功能结构如表2-1所示。

表2-1 新冠采样信息录入机器人的功能模块设计

根据本项目的需求分析以及功能模块设计,该自动化业务的流程设计图如图2-9所示。

图2-9 “新冠采样信息录入机器人”流程设计图

图2-10 新冠采样信息录入机器人的项目文件结构

2.1.3 系统开发必备

1.开发环境及工具

本项目的开发及运行环境如下。

● 操作系统:Windows 7、Windows 10。

● 开发工具:UiPath 2022.4.1。

● Office版本:Microsoft Office Professional Plus 2019。

● 浏览器:Chrome浏览器。

● 压缩软件:zip。

2.项目文件结构

新冠采样信息录入机器人的项目文件结构如图2-10所示。

(1)Main.xaml:主流程文件,项目创建时自动创建的文件,本案例中暂未使用。

(2)序列.xaml:流程设计文件,本案例的流程开发主要在该文件中进行。

3.开发前准备

1)创建存放“新冠采样信息系统”的源文件和解压文件的文件夹

下载的源文件将存储于“D:\UiPath入门与实战\01.下载文件”文件夹下,压缩包解压至“D:\UiPath入门与实战\02.运行环境”文件夹下,提前创建好这2个文件夹,如图2-11所示。

2)修改浏览器默认下载地址为“新冠采样信息系统”的源文件目录

本案例使用谷歌浏览器进行“交易数据表”的下载,故按如下方式提前修改谷歌浏览器的默认下载地址。

(1)打开谷歌浏览器,单击其右上角图标 ,在下拉菜单中选择“设置”选项,如图2-12所示。

(2)选择“下载内容”选项,如图2-13所示。

图2-11 提前创建文件夹

图2-12 选择“设置”选项

图2-13 选择“下载内容”选项

(3)在位置处单击“更改”,修改地址为“D:\UiPath入门与实战\01.下载文件”,如图2-14所示。

图2-14 更改“下载内容”的位置

2.1.4 流程实现

1.创建项目

打开UiPath Studio,单击“新建项目”,选择“流程”模块,弹出“新建空白流程”对话框。在“名称”输入框中输入“新冠疫情采样信息录入机器人”,在“位置”输入框中输入“D:\Uipath入门与实战”,单击“创建”按钮,如图2-15所示。

图2-15 “新建空白流程”对话框

由于本案例流程各节点的决策点较少,故采用序列(Sequence)作为主要布局,使表达上更为简洁直观。新建一个“序列.xaml”文件,双击编辑流程文件,具体实现步骤如下文所述。

2.“环境准备”模块的实现

“环境准备”模块的功能是打开浏览器,将新冠采样信息系统下载至本地,并解压至“D:\UiPath入门与实战\02.运行环境”文件夹下,该模块的流程设计如图2-16所示。

(1)添加一个“分配”活动,在左侧输入框中创建一个String类型的变量“strDownloadFolder”,在右侧输入框中输入“"D:\UiPath入门与实战\01.下载文件"”,将存储“新冠采样信息系统”下载包的文件夹路径赋值给strDownloadFolder,其属性面板如图2-17所示。

(2)在下方继续添加一个“分配”活动,在左侧输入框中创建一个String类型的变量“strOperateFolder”,在右侧输入框中输入“"D:\UiPath入门与实战\02.运行环境"”,将解压“新冠采样信息系统”下载包的文件夹路径赋值给strOperateFolder,其属性面板如图2-18所示。

图2-16 “环境准备”模块的流程设计

图2-17 “分配”活动-strDownloadFolder属性面板

图2-18 “分配”活动-strOperateFolder属性面板

(3)分别添加两个“Clear folder”活动,在“NoFolderExists”输入框中输入“False”,在“Path”输入框中分别输入变量“strDownloadFolder”和变量“strOperateFolder”,用于流程正式运行前先清空这两个文件夹下的文件。这两个Clear folder活动如图2-19所示。

(4)实现从网站下载“新冠采样信息系统”压缩包文件。

①添加“打开浏览器”活动,在“URL”输入框中输入网站地址“"https://cloudlab.rpazj.com/#/parent/2019-nCoV"”,将“浏览器类型”设置为“BrowserType.Chrome”,其属性面板配置如图2-20所示。

图2-19 Clear folder活动

图2-20 “打开浏览器”活动的属性面板

②在“打开浏览器”活动的执行中添加一个“等待下载【GetLastDownloadedFile】”活动。在“监控的文件夹”中设置变量strDownloadFolder,如图2-21所示。

③在“等待下载”的执行序列中添加“单击【Click】”控件。手动打开浏览器网页后,单击“指明在屏幕上”,然后用鼠标单击网页上的“新冠采样录入系统下载”,如图2-22所示。

图2-21 “等待下载”活动

图2-22 单击下载“新冠采样录入系统”

“等待下载”活动的实现如图2-23所示。

图2-23 “等待下载”活动的实现

④“打开浏览器”活动的完整实现如图2-24所示。

图2-24 “打开浏览器”活动的完整实现

⑤开发至此,可以保存文件并启动流程,查看流程运行是否有异常。流程应自动打开浏览器,输入下载地址后,自动单击页面上的“新冠采样录入系统下载”链接,待文件下载完成后流程运行结束。确认“新冠采样信息录入.zip”已被成功下载,如图2-25所示。

(5)在“添加浏览器”活动下方添加一个“分配”活动,在左侧输入框中创建一个String[]类型的变量“strFilepath”,在右侧输入框中输入表达式“Directory.GetFiles(strDownloadFolder)”,用于读取文件夹里的文件,其属性面板配置如图2-26所示。

图2-25 下载的“新冠采样信息录入.zip”

图2-26 “分配”活动的strFilepath属性面板

(6)在下方添加一个“提取/解压缩文件【ExtractFiles】”活动,在“要提取的文件”输入框中输入“strFilepath(0)”,在“目标文件夹”输入框中输入变量“strOperateFolder”,表示将“新冠采样信息录入.zip”解压到strOperateFolder所指代的文件夹“RPA开发UiPath入门与实战\02.运行环境”下,如图2-27所示。

运行流程后,查看文件夹“RPA开发UiPath入门与实战\02.运行环境”下是否生成了解压文件,如图2-28所示。

图2-27 “提取/解压缩文件”活动

图2-28 生成解压文件

(7)添加一个空序列,在配置面板中将“显示名称”更新为“安装系统文件”。在此我们通过录制的方法来查找可执行程序“2019-nCoV_record.exe”,并双击运行该程序。

①在“设计”面板单击“录制”,选择“基本”选项,如图2-29所示。

②在弹出的“基本录制”窗口选择“单击”,在下拉选项中选择“单击”,如图2-30所示。然后单击计算机的“主文件夹”图标,如图2-31所示。

图2-29 选择“基本”选项

图2-30 “基本录制”窗口1

图2-31 单击“主文件夹”图标

③单击“基本录制”窗口的“输入”,在下拉项中选择“类型”,如图2-32所示。单击“指明在屏幕上”,然后回到“主文件夹”窗口,单击“快速访问”区域,如图2-33所示。

图2-32 “基本录制”窗口2

图2-33 指明在屏幕上“快速访问”区域

然后,在输入框中输入“"D:\UiPath入门与实战\02.运行环境\新冠采样信息录入\新冠采样信息录入\2019-nCoV_record[k(enter)]"”,输入内容中的“[k(enter)]”表示添加Enter热键,如图2-34所示。

④继续单击“基本录制”窗口的“单击”,在下拉选项中选择“单击”,然后用鼠标选中“2019-nCoV_record.exe”,如图2-35所示。

在“单击'editable text名称'”活动的属性面板中将“输入→单击类型”修改为“ClickType.CLICK_DOUBLE”,以实现双击打开2019-nCoV_record.exe应用程序,如图2-36所示。

图2-34 输入文件路径

图2-35 选择“2019-nCoV_record.exe”

图2-36 “单击'editable text名称'”的属性面板

⑤“安装系统文件”序列的完整流程设计如图2-37所示。

至此,“环境准备”模块设计完成,流程运行结束后自动打开了2019-nCoV_record.exe应用程序,显示“新冠病毒采样录入”的系统界面,如图2-38所示。

图2-37 “安装系统文件”的完整流程设计

图2-38 “新冠病毒采样录入”的系统界面

3.“表格准备”模块的实现

“表格准备”模块的主要功能是下载新冠采样信息表格,总体设计如图2-39所示。

(1)添加“Clear folder”控件,在“NoFolderExists”输入框中输入“False”,在“Path”输入框中输入变量“strDownloadFolder”,以清空strDownloadFolder指代的文件夹下的文件,如图2-40所示。

(2)添加“等待下载【GetLastDownloadedFile】”活动。在“监控的文件夹”输入框中输入变量“strDownloadFolder”,如图2-41所示。

图2-39 “表格准备”模块的总体设计

图2-40 “Clear folder”活动

(3)在“等待下载”活动的执行序列中添加“单击【Click】”,然后单击“指明在屏幕上”,再用鼠标单击页面上的“新冠采样信息表下载”,如图2-42所示。

图2-41 “等待下载”活动

图2-42 单击“新冠采样信息表下载”

(4)“等待下载”活动的完整设计如图2-43所示。

(5)运行流程,查看流程运行结果。鼠标自动单击页面上的“新冠采样信息表下载”后,流程结束。打开“D:\UiPath入门与实战\01.下载文件”文件夹,看到“新冠采样信息.xlsx”被下载在该文件夹下,如图2-44所示。

图2-43 “等待下载”活动的完整设计

图2-44 “表格准备”模块运行结果

4.“数据录入与导出”模块的实现

“数据录入与导出”模块主要分为数据录入和表格导出两部分,其整体设计如图2-45所示。数据录入的主要功能是将“表格准备”模块下载得到的“新冠采样信息.xlsx”中的信息录入“新冠病毒采样录入”系统中,表格导出的主要功能是单击“导出”按钮,将系统中的所有数据进行导出操作。

1)数据录入

“数据录入”序列的完整设计如图2-46所示,具体实现步骤如下。

图2-45 “数据录入与导出”模块的整体设计

图2-46 “数据录入”序列的完整设计

(1)添加一个“分配【Assign】”活动,在左侧输入框中输入变量“strfilepath”,在右侧输入框中输入表达式“Directory.GetFiles(strDownloadFolder)”,用于获取strDownloadFolder指代的文件夹下的Excel文件路径,赋值给strfilepath,其属性面板如图2-47所示。

(2)添加“Excel应用程序范围”控件,在“工作簿路径”输入框中输入“strfilepath(0)”,如图2-48所示。

图2-47 “分配”活动的属性面板

图2-48 “Excel应用程序范围”活动

(3)在“Excel应用程序范围”的执行序列中添加“读取范围【Read Range】”控件,在其属性面板中,设置“输入→工作表名称”为“"Sheet1"”,“输入→范围”为“""”,在“输出→数据表”输入框中创建一个DataTable类型的变量dt_Personal,表示读取Shee1工作表的所有数据,将其赋值给变量dt_Personal,勾选“添加标头”复选框,如图2-49所示。

(4)在“读取范围”活动的下方,添加“对于数据表中的每一行【For Each Row】活动”。在“输入”输入框中输入变量“dt_Personal”,表示遍历数据表dt_Personal的数据,该活动如图2-50所示,其属性面板如图2-51所示。

图2-49 “读取范围”活动的属性面板

图2-50 “对于数据表中每一行”活动

图2-51 “对于数据表中的每一行”活动的属性面板

(5)在“对于数据表中的每一行”活动的正文序列中添加“单击【Click】”活动,鼠标单击“指明屏幕处”后,鼠标指针移到“新冠病毒采样录入”系统的“录入”选项卡并单击,确保当前系统界面为“录入”界面,如图2-52所示。

至此,“Excel应用程序范围”的实现如图2-53所示。

图2-52 单击“录入”选项卡

图2-53 “Excel应用程序范围”的实现

(6)在“对于数据表中的每一行”中实现信息的自动录入。我们需要录入的数据各字段如图2-54所示,需要将每行数据录入“新冠病毒采样录入”系统对应的各字段中。

图2-54 “新冠采样信息.xlsx”中的数据

“新冠病毒采样录入”系统中的数据录入形式主要有2类,分别为文本输入类型和下拉选择类型。对于文本输入类型,我们使用“输入信息”活动来实现;对于下拉选择类型,我们使用“选择项目”活动来实现。下面对这两类录入的实现方式进行详细描述。

①文本输入类型的字段有姓名、年龄、身份证号、样品号、手机号、居住地这6个字段,以“姓名”为例,实现方式如下,其他字段输入的实现与之一致。

(a)在“单击page tab录入”活动的下方,添加一个“输入信息【Type Into】”活动,单击“指明在屏幕上”,如图2-55所示。

(b)鼠标指针移动到“新冠病毒采样录入”系统录入界面的“姓名”输入框,单击鼠标左键进行选中操作。然后,在输入框中输入表达式“row("姓名").tostring”,表示将行变量row的姓名列的值输入“姓名”输入框中,如图2-56所示。

图2-55 添加“输入信息”活动

图2-56 “输入姓名”活动

图2-57 “输入姓名”活动的属性面板

(c)在属性面板中,将活动的“显示名称”更新为“输入姓名”,并设置“模拟键入”和“空字段”为True,如图2-57所示。

②下拉选择类型的字段有性别、证件类型、国家、人员来源、人员身份、境外人员、参保类型、标本类型、检测项目、结算类型共10个字段,以“性别”为例,实现方式如下,其他字段输入的实现与之一致。

(a)添加“选择项目【Select Item】”活动,单击“指明在屏幕上”,如图2-58所示。

(b)鼠标指针移至“新冠病毒采样录入”系统录入界面的“性别”下拉框,单击鼠标左键进行选中操作。然后,在输入框中输入表达式“row("性别").tostring”,表示在下拉列表中选择与行变量row的性别列的值一致的值,如图2-59所示。

图2-58 添加“选择项目”活动

图2-59 选择项目-性别

(7)将所有字段的抓取和录入实现之后,需要单击“录入”界面中的“保存”按钮,对这条记录进行保存操作,具体实现方式如下。

①选择“单击【Click】”活动,指明在“保存”位置,保存当前数据,如图2-60所示。

②选择“单击【Click】”活动,指明在“确定”位置,确保所有数据已录入,如图2-61所示。

图2-60 单击“保存”按钮

图2-61 单击“确定”按钮

2)表格导出

“表格导出”主要是将录入的新冠信息表格导出至本地,该模块的流程设计如图2-62所示,具体实现步骤如下。

(1)在“数据录入”序列的下方,添加一个“序列”活动,将其“显示名称”更新为“导出”。

(2)在活动面板搜索“单击【Click】”活动,将其拖曳至“导出”序列中,单击“指明在屏幕上”后将鼠标指针移至“新冠采样系统信息录入”界面的“查询/导出”按钮,单击后进行元素选择,如图2-63所示。

(3)添加“单击【Click】”活动,单击“指明在屏幕上”后将鼠标指针移至“查询”按钮,单击后进行元素选择,如图2-64所示。

(4)添加“单击【Click】”活动,单击“指明在屏幕上”后将鼠标指针移至“导出”按钮,单击后进行元素选择,如图2-65所示。

(5)添加“单击【Click】”活动,单击“指明在屏幕上”后将鼠标指针移至“数据导出”窗口的文件夹选择下拉框位置,单击后选中该元素,如图2-66所示。

图2-62 “表格导出”流程设计图

(6)添加“输入信息【Type Into】”活动,单击“指明在屏幕上”后将鼠标指针移至文件路径输入框区域,单击后选中该元素,然后在该活动的输入框中输入“strOperateFolder+"[k(enter)]"”,表示输入strOperateFolder指代的文件路径后按Enter键进行提交,如图2-67所示。

图2-63 单击“查询/导出”按钮

图2-64 单击“查询”按钮

图2-65 单击“导出”按钮

图2-66 单击“下拉框”位置

(7)添加“单击【Click】”活动,单击“指明在屏幕上”后将鼠标指针移至刷新区域,单击后选中该元素,如图2-68所示。

图2-67 输入信息

图2-68 单击“刷新”

(8)添加“单击【Click】”活动,单击“指明在屏幕上”后将鼠标指针移至“保存”按钮,单击后选中该元素,如图2-69所示。

至此,表格导出模块开发完成。运行该模块后,新冠采样数据被导出保存在“D:\UiPath入门与实战\02.运行环境”下,如图2-70所示。

图2-69 单击“保存”按钮

图2-70 导出数据

双击该Excel文件查看表格数据,如图2-71所示。

图2-71 查看表格数据

5.“数据校验”模块的实现

“数据校验”模块主要是针对已导出的数据进行非空值的校验,流程设计如图2-72所示,具体实现步骤如下。

(1)在“数据导入与导出”序列的下方添加一个“序列”活动,将其“显示名称”更新为“数据校验”。

(2)在“数据校验”序列中添加一个“分配【Assign】”活动,在“值”输入框中输入表达式“directory.GetFiles(strOperateFolder,"*xls")”,在“受让人”输入框中创建String[]类型的变量arrexcelFile,其属性面板如图2-73所示。

图2-72 “数据校验”模块的流程设计图

图2-73 “分配”活动的属性面板

该活动获取了strOperateFolder所指代的路径下的所有Excel文件的路径,赋值给变量arrexcelFile,此处arrexcelFile的类型字符串集合在变量面板中arrexcelFile,如图2-74所示。

图2-74 变量面板arrexcelFile

(3)在“分配”活动的下方添加“Excel应用程序范围”活动,在“工作簿路径”输入框中输入“arrexcelFile(0)”,其属性面板如图2-75所示。

(4)在“Excel应用程序范围”中添加“读取范围”活动,在“工作表名称”的输入框中输入“"Sheet1"”,在“范围”输入框中输入“""”,在“输出→数据表”输入框中创建DataTable类型的变量dbexportdata,勾选“添加标头”复选框,表示读取Sheet1工作表的所有数据后赋值给变量dbexportdata。该活动如图2-76所示,其属性面板如图2-77所示。

(5)在“读取范围”活动的下方添加“对于数据表中的每一行【For Each Row】”活动,在“输入”输入框中输入变量dbexportdata,其属性面板如图2-78所示。

图2-75 “Excel应用程序范围”活动属性面板

图2-76 “读取范围”活动

图2-77 “读取范围”活动的属性面板

(6)在“对于数据表中的每一行”执行中添加“调用方法【Invoke Method】”活动,通过该活动,我们构建一个名为listdata的集合,调用字符串集合的Add方法将dbexportdata的每一行记录作为一个字符串添加到listdata集合中。在“MethodName”输入框中输入“Add”,在“TargetObject”输入框中创建一个List<String>类型的变量“listdata”,该活动如图2-79所示。

图2-78 “对于数据表中的每一行”活动的属性面板

图2-79 “调用方法”活动

在其属性面板中单击“参数”的“…”按钮,显示“参数”配置窗口。设置该参数的方向为“输入”,类型为“String”,值为“currentrow.tostring”,如图2-80所示。

图2-80 “参数”配置窗口

该活动的属性面板如图2-81所示。

(7)通过遍历变量listdata中是否有空值,来完成数据的校验。

①在“对于数据表中的每一行”活动下方,添加“遍历循环【For Each】”活动,在“输入”输入框中输入变量“listdata”,如图2-82所示。

图2-81 “调用方法”活动的属性面板

图2-82 “遍历循环”活动

②在循环体内添加“IF条件”活动,在“条件”输入框中输入表达式“item.ToString.IsNullOrEmpty”来进行是否为空值的判断。

③在Then中添加“写入行”活动,在Text输入框中输入“该行有空值,请检查”,并添加“附加行”活动,在“文本”输入框中输入“该行有空值,请检查”,在“写入文件名”输入框中输入“Result.txt”,表示当存在空值时,输出日志信息,并且在Result.txt中记录该日志信息。

④在Else中添加“消息框”活动,在“文本”输入框中输入“校验无误”,表示当不存在空值时,弹框显示“校验无误”。

这部分的具体流程实现如图2-83所示。

图2-83 IF条件判断及日志输出

2.1.5 案例总结

本RPA流程通过RPA自动下载新冠采样信息系统和信息表,并解压压缩包文件,读取Excel数据,实现系统数据的自动录入及下拉框选择、文件导出及数据校验。 TjYqBQz55TlPLd2YRIBDyFRiB4aqNBpimd5VsUZeoMzWEOlFj8oSz7E8FzD8dr4+

点击中间区域
呼出菜单
上一章
目录
下一章
×