activities
latest
false
重要 :
请注意,此内容已使用机器翻译进行了部分本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。
UiPath logo, featuring letters U and I in white

生产力活动

上次更新日期 2026年3月6日

对 Excel 文件中的数据进行排序

以下示例将说明如何处理 .xlsx 表格,以按升序显示所有行中的数据,而不出现任何重复项。

该示例将展示删除数据行读取范围表格排序等活动。您可以在UiPath.Excel.Activities包中找到这些活动。

下面的示例使用的表格包含五列 -“ID”、“姓”、“名”、“电子邮件”和“邮件”。表格中的条目按降序排列。某些行会在电子表格中多次出现。使用自动化流程,数据将按升序排序,并删除所有重复项。

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

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

请务必在项目文件夹中添加要使用的 .xlsx 文件。您也可以通过下载本页面底部的示例来使用我们提供的文件。

  1. 在“工作流设计器”中拖动“流程图”

    • 创建以下变量:
    变量名称变量类型默认值
    existingColumnsworkbook 应用程序不适用
  2. 将“Excel 应用程序作用域”活动拖动到“流程图”中,并将其连接到“开始节点”

    • 双击“Excel 应用程序作用域”活动将其打开。
    • In the Properties panel, add the name Sorting rows ascending in the DisplayName field.
    • 在“workbook 路径”字段中添加 .xlsx 文件的路径,在本示例中,该文件为“Book.xlsx”。
    • 选中“自动保存”、“新建文件”和“可见”选项的复选框。机器人现支持新建 Excel 工作簿、自动保存对 Excel 工作簿作出的所有更改,以及在对 Excel 文件执行操作时在前台打开该文件。
    • 在“工作簿”字段中添加“existingColumns”变量。
  3. 在“Excel 应用程序作用域”活动中选择“执行”序列,并创建以下变量:

    变量名称变量类型默认值
    descendingOrderSystem.Data.DataTable不适用
  4. 将适用于 Excel 的“读取范围”活动拖动到“执行”序列中。

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

    • 在“属性”面板中,向“列名称”字段添加名称“"id"”。
    • 在“有序”列表中选择“Ascending”。
    • 在“工作表名称”字段中添加名称“"Sheet1"”。
    • 在“表格名称”字段中添加名称“"Table1"”。
  6. 返回到“流程图”工作流。

  7. 拖动“Excel 应用程序作用域”活动并将其连接到上一个“Excel 应用程序作用域”活动。

    • 双击“Excel 应用程序作用域”活动将其打开。
    • In the Properties panel, add the name Deleting duplicates in the DisplayName field.
    • 选中“自动保存”、“新建文件”和“可见”选项的复选框。机器人现支持新建 Excel 工作簿、自动保存对 Excel 工作簿作出的所有更改,以及在对 Excel 文件执行操作时在前台打开该文件。
    • 在“工作簿”字段中添加“existingColumns”变量。
  8. 将适用于 Excel 的“读取范围”活动拖动到“执行”序列中。

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

    • 创建以下变量:
    变量名称变量类型默认值
    rowIndexInt320
    • 在“条件”字段中添加表达式“rowIndex+1 < descendingOrder.Rows.Count”。此表达式将处理整个表格,并使您能够执行“先条件”循环,直到“row index +1”小于总行数。
  10. 在“先条件循环”活动主体中添加“序列”容器。

    • 创建以下变量:
    变量名称变量类型默认值
    rowSystem.Data.DataRow不适用
    rowNextSystem.Data.DataRow不适用
  11. 将“分配”活动放置在先前创建的“序列”容器中。

    • 在“目标”字段中添加“row”变量,并在“值”字段中添加“descendingOrder.Rows(rowIndex)”表达式。该操作使您能够根据行的索引将行中包含的信息分配给行变量。
  12. 拖动另一个“分配”活动,并将其置于上一个“分配”活动下方。

    • 在“目标”字段中添加“rowNext”变量,并在“值”字段中添加“descendingOrder.Rows(rowIndex+1)”表达式。该操作会将以下行的值分配给“rowNext”变量,从而帮助您遍历所有表格。
  13. 在“分配”活动下添加“If 条件”活动。

    • 在“条件”字段中添加表达式“row(0).ToString=rowNext(0).Tostring”。此条件用于检查“row”变量中包含的数据是否与“rowNext”变量中的数据相同。
  14. 将“删除数据行”活动拖动至“If 条件”活动的“Then”字段。

    • 在“数据表”字段中添加变量“descendingOrder”,并在“行”字段中添加变量“rowNext”。
  15. 将“分配”活动放置在“If 条件”活动的“Else”字段中。

    • Add the variable rowIndex in the To field and the expression rowIndex+1 in the Value field.
  16. 在“先条件循环”活动下方添加“写入范围”活动。

    • 在“工作表名称”字段中添加名称“"Sheet2"”,在“起始单元格”字段中添加值“"A1"”,并在“数据表”字段中添加变量“descendingOrder”。
    • 选中“添加标头”复选框,以便让系统认为第一行为标头。
  17. 运行流程。自动化流程将创建一个新工作表,该工作表按升序显示数据,没有任何重复项。


此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新