如何使用列名而不是提供单元格编号范围来在 excel sheet 中添加两列来定位 Uipath 中的列
How can I add two columns in an excel sheet using the column name instead of giving cell number range to locate the columns in Uipath
我基本上想执行两列相加并将结果存储在第三列。
但挑战是我无法使用单元格列数来定位列。相反,我必须使用 name/header 列,当我找到 header 时,我必须在这些列的值之间执行加法运算,并且还要存储结果列。
我必须使用第 3 列的名称而不是它的位置。
出于测试目的,我创建了一个如下所示的 Excel:
现在我为您创建了这个工作流程,它处理 first 和 second 列的添加,在哪一个并不重要他们是专栏。
列的获取非常简单。困难的部分是确定目标列,正如您所说,该列将来可能会切换列,不应由列号确定。
Step-by-step:
第 1 步:
所以在开始时您阅读了 Excel 文件。将结果写入DataTableDT1
。然后用内容 DT1.Columns.IndexOf("result (1+2)")
.
创建变量 result_index
第 2 步:
现在越来越复杂了。首先,我们遍历我们的 DataTable DT1
。这里我们确定列的字母。这是由我们之前创建的 result_index
变量完成的。然后在 Switch
中,我们将该索引转换为一个字母。我认为这很简单:
- 2 -> C
- 3 -> D
- 等等...
现在我们有了那个字母,我们可以用它来填充 result
列。因此,为了生成单元格编号,我们只需取 letter.ToString + row_index.ToString
。在我们的情况下,这代表“D2”。如果您查看 Excel 文件,您会看到这是结果数据的第一个单元格。
添加非常简单,因为它只是将已知的列加起来 (CInt(row("first")) + CInt(row("second"))).ToString
。
最后,当它有 运行 时,您会找到那个结果。
改进意见:
- 这不是一个完美的解决方案。一个巨大的改进是不使用
Write Cell
activity。相反,您需要创建另一个 DataTable。填写结果数据。并将 Write Cell
替换为 Write Range
activity.
他把数据表设置为输入。
这将加快填充行的速度,因此填充一个巨大的 Excel 文件要快得多。
- 您也可以将
Switch
替换为字符转换。您可以在 this snippet. 上找到这个想法
我基本上想执行两列相加并将结果存储在第三列。
但挑战是我无法使用单元格列数来定位列。相反,我必须使用 name/header 列,当我找到 header 时,我必须在这些列的值之间执行加法运算,并且还要存储结果列。
我必须使用第 3 列的名称而不是它的位置。
出于测试目的,我创建了一个如下所示的 Excel:
现在我为您创建了这个工作流程,它处理 first 和 second 列的添加,在哪一个并不重要他们是专栏。
列的获取非常简单。困难的部分是确定目标列,正如您所说,该列将来可能会切换列,不应由列号确定。
Step-by-step:
第 1 步:
所以在开始时您阅读了 Excel 文件。将结果写入DataTableDT1
。然后用内容 DT1.Columns.IndexOf("result (1+2)")
.
result_index
第 2 步:
现在越来越复杂了。首先,我们遍历我们的 DataTable DT1
。这里我们确定列的字母。这是由我们之前创建的 result_index
变量完成的。然后在 Switch
中,我们将该索引转换为一个字母。我认为这很简单:
- 2 -> C
- 3 -> D
- 等等...
现在我们有了那个字母,我们可以用它来填充 result
列。因此,为了生成单元格编号,我们只需取 letter.ToString + row_index.ToString
。在我们的情况下,这代表“D2”。如果您查看 Excel 文件,您会看到这是结果数据的第一个单元格。
添加非常简单,因为它只是将已知的列加起来 (CInt(row("first")) + CInt(row("second"))).ToString
。
最后,当它有 运行 时,您会找到那个结果。
改进意见:
- 这不是一个完美的解决方案。一个巨大的改进是不使用
Write Cell
activity。相反,您需要创建另一个 DataTable。填写结果数据。并将Write Cell
替换为Write Range
activity.
他把数据表设置为输入。
这将加快填充行的速度,因此填充一个巨大的 Excel 文件要快得多。
- 您也可以将
Switch
替换为字符转换。您可以在 this snippet. 上找到这个想法