「RPA之家UiPath官方教程」Excel和数据表
Excel和数据表
本课程涵盖了针对DataTable类型的最常见的数据处理方法,以及使用Excel文件的特定方法。
受众:RPA开发人员
学习目标
在本课程结束时,您应该能够:
创建,自定义和填充DataTable变量;
对数据表使用最常用的数据处理方法;
使用Excel Application Scope区分使用Excel文件的类型;
使用特定的方法来处理Excel文件(读取数据,写入数据,保存文件,等等)。
关于本课程
介绍
本课程涵盖最常用的业务工具之一-Excel。 我们将使用UiPath特别是RPA一般提供的特定方法和工具,介绍使用Excel和类似文件(.xlsx,.xls,.csv)的不同方法。 我们还将介绍一种用于处理Excel文件和数据库的变量类型-数据表(System.Data.DataTable)。
受众:RPA开发人员
课程时间:6小时
完成课程的要求:通过最低80%的分数通过课程测验
先决条件:
基本编程知识
RPA开发人员角色课程简介
变量,数据类型和控制流程
数据处理课程
学习目标
在本课程结束时,您将能够:
1创建,自定义和填充DataTable变量;
2对数据表使用最常用的数据处理方法;
3使用Excel Application Scope区分使用Excel文件的类型;
4使用特定的方法来处理Excel文件(读取数据,写入数据,保存文件,等等)。
注意:本课程是使用UiPath Studio 2019.7创建的。 最新的Community Edition版本中的某些元素可能有所不同。
什么是数据表?
在我们开始之前...
让我们回顾一下Excel中的主要概念。
考虑一组公司的雇员的典型数据库。 用Excel文件组织它的自然方法是什么?
Cell: 员工的录用日期
Column: 所有员工的出生日期
Row: 一名员工的所有数据
Worksheet: 该组中一家公司的所有员工的所有数据
Workbook: 组中所有公司的所有员工的所有数据
什么是数据表?
DataTable是一种变量类型,可以将数据存储为具有行和列的简单电子表格,以便可以根据数据的唯一列和行坐标来标识每个数据。 将其视为Excel工作表的内存表示形式。
在DataTables中,采用了识别列和行的常规约定-列通过大写字母标识,行通过数字标识。
工作表和数据表之间有什么区别?
工作表: Excel工作表是具有不同可视化选项和广泛图形用户界面用法的数据的可视表示形式
数据表: 数据表是单个数据库表的内存表示形式,该表具有行和列的集合
如何创建数据表?
创建数据表的最常见方法是:
Build data table: 通过使用此活动,您可以选择列数和每列的数据类型。 此外,您可以为每个列配置特定的选项,例如允许空值,唯一值,自动递增(对于数字),默认值和长度(对于字符串)。
Read Range: 此活动获取工作表(或工作表中的选择)的内容,并将其存储在DataTable变量中,该变量可以使用Ctrl + K在“属性”面板中创建。
Read CSV: 此活动捕获CSV文件的内容并将其存储在DataTable变量中。 尽管不再常用,但是仍然有旧版或内置的应用程序可以处理此类文档。
Data scraping: UiPath Studio的此功能使您可以将结构化数据从浏览器,应用程序或文档提取到DataTable。
数据表活动
UiPath提供了广泛的活动,可用于处理DataTable变量:
--添加数据列
将列添加到现有的DataTable变量。输入数据可以是DataColumn类型,也可以通过指定数据类型并配置选项(允许空值,请求唯一值,自动递增,默认值和最大长度)将列添加为空。
--添加数据行
将新行添加到现有DataTable变量。通过将每个对象与每个列的数据类型进行匹配,输入数据可以是DataRow类型,也可以作为数组行输入。
--建立数据表
用于使用专用窗口创建DataTable。此活动允许自定义列数和每列的数据类型。
--清除数据表
清除现有DataTable变量中的所有数据。
--筛选数据表
允许使用各种条件通过筛选器向导筛选数据表。可以将该活动配置为为该活动的输出创建一个新的DataTable,或者保留现有活动并过滤(删除)与过滤条件不匹配的条目。
--对于每一行
用于对DataTable的每一行执行特定的活动(类似于For Each循环)。
--生成数据表
通过让用户指示行和列分隔符,可用于从非结构化数据创建DataTable。
--联接数据表
根据一个回答规则“如何处理不匹配的数据?”的联接规则,使用彼此共有的值来合并两个表中的行。它是业务场景中最有用的活动之一,在其中经常使用多个数据表。这就是为什么我们将在下面更深入地介绍。
--查找数据表
与Excel中的vLookup相似,因为它允许在指定的DataTable中搜索提供的值并返回找到该值的RowIndex,或者可以配置为从具有给定坐标(RowIndex和Target Column)的单元格返回该值。
--合并数据表
用于将指定的DataTable附加到当前DataTable。该操作比Join Data Type活动更简单,因为它有4个预定义的操作可以在丢失的架构上执行。
--输出数据表
使用CSV格式将DataTable写入字符串。
--删除数据列
从指定的DataTable中删除特定的列。输入可以包括列索引,列名称或“数据列”变量。
--删除数据行
从指定的DataTable中删除一行。输入可以由行索引或数据行变量组成。
--删除重复的行
从指定的DataTable变量中删除重复的行,仅保留第一个匹配项。
--排序数据表
可以根据特定列中的值对DataTable进行升序或降序排序。
联接数据表
它是如何工作的?
1.必须指定3个数据表变量-2个输入数据表和1个输出数据表。请注意,前2个的顺序非常重要,因为有一个选项可以保留数据表1中的值,并且不能更改。
2.必须选择联接类型-有3个选项:
内部:保留两个表中符合联接规则的所有行。从结果表中删除所有不符合规则的行。
左:保留符合联接规则的DataTable1中的所有行,仅保留DataTable2中的值。将空值插入到DataTable1中与DataTable2行中不匹配的行的列中。
Full:保留DataTable1和DataTable2中的所有行,无论是否满足连接条件。将空值添加到两个不匹配的表的行中。
3.必须配置加入规则(可以有一个或多个规则):
每个DataTable的一列必须通过其名称(字符串),其索引(Int32)或ExcelColumn变量指定
必须选择运算符:=(等于),!=(不等于),>(大于),<(小于),> =(大于或等于),<=(小于或等于)至)
我将在哪些业务场景中使用联接数据表?
联接数据表提供了一种将两个来源的数据集中到一处的最简单方法:
从2个应用程序中提取2个员工数据库
检查在市场营销活动(数据库2)中联系了哪些客户(数据库1)
检查公司的哪些供应商(内部数据库)已申请公共援助(公共数据库)
作业簿和常见活动
在许多业务场景中,数据库存储在工作簿中(通常称为Excel文件或电子表格)。 从那里,可以将它们输入到DataTables中,并使用上一章介绍的方法以及其他可用方法和工具进行进一步处理。 现在该看看RPA如何处理工作簿。
UiPath提供了两种访问和操作工作簿的独立方法,每种方法都有其优点和局限性:
--文件访问级别:
所有工作簿活动将在后台执行。
(+)不需要安装Microsoft Excel,仅通过不打开文件就可以更快,更可靠地进行某些操作;
(!)仅适用于.xlsx文件。
--excel应用程序集成
UiPath将像人类一样打开Excel。
(+)与.xls和.xlsm一起使用,并且它具有一些与.csv一起使用的特定活动。 可以将所有活动设置为对用户可见或在后台运行。
(!)即使未选中“可见”框,也必须安装Microsoft Excel。 如果该文件未打开,则将为每个活动打开,保存和关闭该文件。
两个访问级别共享一些活动,而Excel App Integration具有更多活动。 请注意,在UiPath中,下面介绍的每种方法都有两个活动-一个在“应用程序集成> Excel”下,另一个在“系统>文件>工作簿”下。
让我们从常见的活动开始:
--追加范围
将数据表中的信息添加到指定的Excel电子表格的末尾。如果工作表不存在,它将创建它。
--获取表范围
使用表名称作为输入,从指定的电子表格中查找并提取Excel表格的范围。
--读取单元格
读取给定单元格的内容并存储为String。
--读取单元格公式
从给定的单元格中读取公式并将其存储为String。
--读取列
读取以用户输入的单元格开头的列,并将其存储为IEnumerable <object>变量。
--读取范围
读取指定范围并将其存储在DataTable中。如果在“ Excel应用程序范围”下的“读取范围”活动中选中了“使用过滤器”,它将仅读取过滤后的数据。 “工作簿”下的“读取范围”活动不存在此选项。
--读行
读取以用户输入的单元格开头的行,并将其存储为IEnumerable <object>变量。
--写单元
将值写入指定的单元格。如果单元格包含数据,则活动将覆盖它。如果指定的工作表不存在,则会创建它。
--写范围
从StartingCell字段中指示的单元格开始,将数据表变量中的数据写入电子表格中。
Excel应用范围和特定活动
Excel应用范围
通过使用Excel Application Scope活动来启用与Excel的集成。 实际上,它是一个容器,用于与指定的Excel文件一起使用的所有其他活动都必须放在容器内。 基本上,它打开一个Excel工作簿并为Excel活动提供范围。 执行结束后,将关闭指定的工作簿和Excel应用程序。
可以将Excel Application Scope配置为将活动的输出写入容器中的其他文件中。
重要说明:如果相同的工作流处理两个或多个Excel文件中的信息,则必须对每个文件使用Excel Application Scope。
Excel App Integration特定活动
--CSV
这些活动可以使用DataTable变量读取和写入CSV文件。 尽管可以在Excel App Integration下找到它们,但是即使它们未放在Excel Application Scope容器中也可以使用。
附加到CSV:将数据表中的信息添加到CSV文件中,如果不存在则创建它。 该活动不会覆盖现有数据
读取CSV:从CSV文件读取所有条目并将其存储在DataTable中
写入CSV:使用数据表中的信息覆盖CSV
--范围
这些活动可以读取数据,插入和删除行和列,甚至复制/粘贴整个范围。它们类似于DataTable下的相应活动,但是它们直接在Excel文件中工作。
删除列:根据名称从Excel文件中删除列。
插入列:在空白位置的Excel文件中插入空白列。
插入/删除列:根据指定的更改类型添加空白列或删除现有列。
插入/删除行:根据指定的更改类型,添加空白行或删除现有行。
选择范围:选择Excel文件中的特定范围。通常,它与对选定数据执行特定操作的另一个活动配对。
获取选定范围:将给定范围输出为字符串。
删除范围:从Excel文件中删除指定范围。
自动填充范围:将给定公式应用于Excel文件中的给定范围。
复制粘贴范围:将整个范围(值,公式和格式)从源工作表复制并粘贴到目标工作表。
查找范围:在给定范围内的所有单元格中搜索值。
删除重复范围:删除给定范围内的所有重复行。
--表
这些活动直接在Excel文件中创建,过滤和排序表。
过滤器表:对Excel文件中表中某一列的所有值应用过滤器。 保存文件后,将仅显示符合过滤条件的行。 请注意,此活动不会删除不符合条件的行,而只会隐藏它们。 此方法的一个好用法是在此之后使用“读取范围”活动,并选中“使用过滤器”框。 输出将是一个DataTable,其中仅包含满足给定条件的条目。
排序表:根据给定列中的值对Excel文件中的表进行排序。
创建表:它将在“属性”面板中指定的范围内创建一个表(具有名称)。
--文件
通过保存或关闭这些活动,这些活动可以直接与Excel文件一起使用。
关闭工作簿
保存工作簿
--单元格颜色
这些活动能够捕获和修改Excel文件中单元格的背景颜色。
获取单元格颜色:读取Excel文件中的背景色或给定单元格,并将其存储为颜色变量输出。
设置范围颜色:更改给定范围内所有单元格的背景颜色。 输入是颜色变量。
--sheet
这些活动可以对Excel文件中的工作表执行各种操作。
获取工作簿工作表:按工作表的索引读取工作表的名称。
获取工作簿工作表:提取工作表名称并按索引顺序存储它们。
复制工作表:将工作表复制到Excel文件中,然后粘贴到相同的Excel文件中或粘贴到其他指定的文件中。
--数据透视表
这些活动有助于使用Excel文件中的数据透视表。
刷新数据透视表:刷新Excel文件中的数据透视表。 当数据透视表源数据更改时,这很有用,因为刷新是自动进行的。
创建数据透视表:使用指定的工作表和给定的参数创建数据透视表。
--Macro
这些活动可以执行Excel文件中已定义的宏,也可以从其他文件中调用宏。 请注意,这些活动适用于.xslm文件。
执行宏
调用VBA:另一个文件中的宏