activities
latest
false
重要 :
请注意此内容已使用机器翻译进行了部分本地化。
UiPath logo, featuring letters U and I in white
生产力活动
Last updated 2024年11月15日

筛选和删除 Excel 文件中的行

下面的示例说明了如何删除 .xlsx 文件中不需要的行,以及如何通过应用特定条件来筛选信息。该示例将展示删除数据行读取范围工作簿读取范围等活动。您可以在 UiPath.Excel.Activities 包中找到这些活动。
示例中使用的 .xlsx 文件包括以下列:名称Km价格销售类型。自动化流程会从销售类型列中删除包含值 OtherPrivate Seller 的所有行,并创建一个包含筛选结果的新工作表。

此自动化流程的构建方法如下:

  1. 打开 Studio,并新建一个默认命名为“主要”的“流程”。

    注意:请务必在项目文件夹中添加要使用的 .xlsx 文件。您也可以通过下载本页面底部的示例来使用我们提供的文件。
  2. 在“工作流设计器”中拖动“流程图”

    • 创建以下变量:

      变量名称

      变量类型

      默认值

      carsList

      workbook 应用程序

      不适用

      inputList

      System.Data.DataTable

      不适用
  3. 将“Excel 应用程序作用域”活动拖动到“流程图”中,并将其连接到“开始节点”

    • 双击“Excel 应用程序作用域”活动将其打开。
    • 属性面板中,向显示名称字段添加名称 Delete Data
    • workbook 路径字段中添加 .xlsx 文件的路径,在本示例中,该文件为 Cars.xlsx
    • 选中“自动保存”、“新建文件”和“可见”选项的复选框。现在,允许机器人创建新的 Excel 工作簿,自动保存对其所做的所有更改,以及在对其执行操作时在前台打开 Excel 文件。
    • 在“workbook”字段中添加“carsList”变量。
  4. 在“Excel 应用程序作用域”活动中选择“执行”序列,并创建以下变量:

    变量名称

    变量类型

    默认值

    filterList

    System.String[]

    {"Private Seller", "Other")

  5. 将适用于 Excel 的“读取范围”活动拖动到“执行”序列中。

    • 属性面板中,向工作表名称字段添加名称 "Cars"
    • 选中“添加标头”复选框,以便让系统认为第一行为标头。
    • 在“数据表”字段中添加“inputList”变量。
  6. 在“读取范围”活动下方放置“遍历循环”活动。

    • 在“遍历循环”字段中添加值“word”。
    • 属性面板中,从类型参数下拉列表中选择 String 选项,然后在字段中添加 filterList 变量。
  7. 选择“遍历循环”活动的“正文”容器并创建以下变量:

    变量名称

    变量类型

    默认值

    query

    字符串

     

    RowsToDelete

    System.Data.DataRow[]

     

    deletedRows

    Int32

     
  8. 在“ 执行” 容器中拖动“分配”活动。

    • 目标字段中添加 query 变量,并在字段中添加 string.Format("[SellerType]='{0}'", word) 表达式。该表达式将返回匹配卖方类型列中的值,并将其存储在 query 变量中。string.Format 方法用于将与筛选条件词匹配的数据行对象转换为字符串。
  9. 拖动另一个“分配”活动并将其置于第一个活动下方。

    • 目标字段中添加 RowsToDelete 变量,并在字段中添加 inputList.Select(query) 表达式。
  10. 在前两个“分配”活动下添加第三个“分配”活动。

    • 目标字段中添加 deletedRows 变量,并在字段中添加 RowsToDelete.Count-1 表达式。该操作为需要删除的行创建了一个计数器。
  11. 将“先条件循环”活动置于“分配”活动下方。

    • 条件字段中添加表达式 deletedRows>=0。该表达式意味着系统将执行正文部分中的活动,直到变量 deletedRows 的值等于 0
  12. 将“删除数据行”活动拖动至“先条件循环”活动的“正文”部分。

    • 在“数据表”字段中添加“inputList”变量。
    • 在“行”字段中添加表达式“RowsToDelete(deletedRows)”。
  13. 将“分配”活动置于“删除数据行”活动下方。

    • 目标字段中添加 deletedRows 变量,并在字段中添加 deletedRows-1 表达式。该表达式创建一个循环,该循环将一直执行,直到变量 deletedRows 的值等于 0
  14. 返回到“流程图”工作流。
  15. 拖动“Excel 应用程序作用域”活动并将其连接到上一个“删除数据”Excel 应用程序作用域活动。

    • 双击“Excel 应用程序作用域”活动将其打开。
    • 属性面板中,向显示名称字段添加名称 Filter Data
    • 选中自动保存新建文件选项的复选框。机器人现在可以新建 Excel workbook 并自动保存对其进行的所有更改。
    • 在“workbook”字段中添加“carsList”变量。
  16. 将“关闭应用程序”活动拖动至“Excel 应用程序作用域”活动的“执行”容器内。

    • 打开用于此自动化的.xlsx文件。在此示例中为Cars.xlsx
    • 单击选项菜单按钮,选择在屏幕上指明选项,然后指明 .xlsx 文件。
  17. 将适用于 Excel 的“写入范围”活动拖动至“关闭应用程序”活动下方。

    • 属性面板中,向工作表名称字段添加名称 "Cars2"
    • 数据表字段中添加变量 inputList,并在 workbook 路径字段中添加路径"Cars.xlsx"
    • 选中“添加标头”复选框,以便让系统认为第一行为标头。
  18. 运行流程。自动化流程将删除指定的数据,并在新的工作簿工作表中筛选信息。


此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。