写在前面本博客涵盖最常用的业务工具之一 - Excel。我们将使用 UiPath 特别提供和 RPA 一般提供的特定方法和工具,详细介绍使用 Excel 和类似文件(.xlsx、.xls、.csv)的不同方法。我们还将介绍一种用于处理 Excel 文件和数据库的变量 - 数据表 (System.Data.DataTable)。
环境
UiPath Studio Community 2022.4.3
Windows
C#
实践1
步骤
从具有不同扩展名的两个文件中读取数据,筛选数据表并将数据合并在一起,然后将数据写入不同的文件。
- 我们使用了活动的 Workbook 类别中的读取范围活动来从 .xlsx 文件读取数据,并将其存储在新创建的数据表变量中。
- 通过放置在Excel 应用程序作用域容器中的Excel类别的“读取范围”活动从.xls文件读取数据。读取的数据存储在另一新建的数据表变量中。
- 我们使用了 2 个筛选数据表活动来仅保留符合所设条件的行:包含成立年份的列(两个变量中的每个名称均具有不同名称)中的值小于 ("<") 2005.00。必须选择保留两位小数,然后在“输出”选项卡中更改了列的顺序。
- 我们创建了新的数据表变量,将读取范围阶段创建的两个数据表变量的值合并在一起。使用了构建数据表活动来定义每个列的数据类型、名称,并配置了其他选项。
- 为了将值带入新的数据表变量中,我们使用了 2 个“遍历每一行”活动遍历两个初始数据表变量中的每一个。在 2 个活动的主体中,我们添加了“添加数据行”活动,以使用数组行下的 row.ItemArray 方法在新数据表中添加每一行。
- 我们使用了 Excel 应用程序作用域容器中的写入范围活动,将来自数据表变量的数据写入输出 .xlsx 文档。写入范围覆盖指定工作表中所有之前的数据。
流程总览
获取Excel数据
过滤数据
调整数据列
创建数据表
遍历数据
输出数据到Excel
结果
实践2
步骤
从数据库中筛选数据并将结果导出到新文件中。
- 我们使用了 Workbook 读取范围 活动来从 .xlsx 文件读取数据并将其存储在新建的数据表变量中。
- 我们使用了筛选数据表活动,仅保留年龄小于 30 并且收入高于 10 万的员工。为此,我们选中了保留选项,并使用输入文件中列的名称以及数据表:"Age" < 30.00 和 "Income" > 100000.00 添加了两个条件。运算符必须为 "And"。我们没有在输出选项卡中进行任何更改,保留了来自初始文件的所有数据。
- 使用了构建数据表新建数据表变量,在其中仅存储筛选的数据表中感兴趣的信息 - 姓名、年龄和收入。为此,我们在构建数据表向导中定义了 3 列字符串类型,都具有所选的名称。
我们使用了遍历每一行活动来遍历初始数据表变量中的所有行,在主体框中有以下活动:
- 获取行项目,用于提取姓名和年龄,具体操作方法为,在“属性”面板的列名称下指定列名称,在行下指定行名称。还在“输出”字段创建了 2 个变量,分别名为 "name" 和 "age"。
- 使用了分配活动来提取收入,具体方法为:创建新变量 ("income") 并使用 row.ItemArray 方法,后接感兴趣的列的索引以及 .toString;
- 通过在“属性”面板的数组行下使用大括号之间的 3 个变量的名称,以及新数据表变量的名称,使用了添加数据行活动在新数据表中添加 3 个变量的内容;
- 为了将数据写入输出 Excel 文件中,使用了 Excel 应用程序作用域容器以及写入范围活动,并且选中了添加标题选项。