如何通过 UiPath 读取 excel sheet 并将单元格值放在不同的文本字段中?

How to read an excel sheet and put the cell value within different text fields through UiPath?

如何通过 UiPath 读取 excel sheet 并将单元格值放在不同的文本字段中?

我有一个excelsheet如下:

我已经阅读了 excel 的内容并稍后遍历内容我将内容存储在 Output Data Table 中,如下所示:

截图:

最后,我想在迭代中读取 text opCVdatatable 并将它们写入文本字段。因此,在所需的 Input 文件中,我根据需要提到了 opCVdatatableopCVdatatable+ "[k(enter)]"

截图:

但每当我调用 opCVdatatable.

时,UiPath 似乎从 输出数据 Table 的开头开始

简而言之,每个所需的 Input 字段都被存储在 Output Data Table[= 中的所有数据迭代填充70=].

有人可以帮我吗?

我的第一个建议是使用 Workbook: Read range activity 从 Excel 读取数据,因为它更快,在后台工作,并且不需要在系统上安装 excel .

像这样开始你的序列(注意添加 headers 属性 未被选中):

您不需要使用 Output Data Table,因为此 activity 输出包含所有行项目的字符串。您要做的是访问数据 table 中的项目并将每个项目作为字符串输出到 type into 中,例如 CVDatatable.Rows(0).Item(0).ToString,如下所示:

您提到您想在 迭代 中阅读文本 opCVdatatable 并将它们写入文本字段。这有点复杂,但我会给你一个例子。您可以使用 For Each Row activity 并遍历 CVDatatable 中的每一行,如果需要,设置 index 属性。见下文:

挑战在于让选择器在此处正确并使其动态化,以便每次迭代都针对不同的文本字段。 type into activity 的选择器将取决于您的目标系统,但这里有一个示例:

为此选择器:

此外,这里有一个工作 XAML 文件供您测试。

希望这对您有所帮助。

克里斯

这是一种不同的、更通用的方法。 Excel 将被修改为包含选择器的一部分,而不是在过程本身中包含目标:

请注意,B 列现在包含一个标识符,该 ID 取决于您将使用的应用程序。例如,这是我的示例应用程序的样子。如您所见,第一个文本框的 ID 为 585,第二个为 586,依此类推(请注意,如果暴露给 UiPath,您可以使用任何类型的标识符,包括控件的名称):

现在,无需向您的工作流程添加多个 Type Into 元素,您只需添加一个元素,遍历数据表的每一行,然后创建一个动态选择器:

在我的例子中,Type Into activity 的选择器如下所示:

"<wnd cls='#32770' title='General' /><wnd ctrlid='" + row(1).ToString() + "' />"

这将允许您单独维护 Excel sheet 的流程 - 如果有需要映射的新字段,只需将其添加到您的 sheet。无需更改工作流程。