UIPath - 遍历 excel 文件以填充具有读取范围 "dynamically" 的 DataTable
UIPath - Iterating through excel file to fill in DataTable with Read Range "dynamically"
我的问题原则上与的目标相同
(在读取 Excel 文件的意义上,ReadRange 遍历它)
我想遍历 excel 文件 - 当然会使用 Excel 应用程序范围来执行此操作..
但是当我将 Excel 文件读入数据表时 - 我需要给它一个像 "D2:K30"..
这样的范围
"K30" 将是我读入的范围的结尾 - 那么我如何设法获取我的特定 excel 文件的 "end"?
使用 VBA 我会遍历 excel 文件并说出类似
的内容
'if row content is ""'
,然后我会知道第一个 EMPTY 行何时出现。
也许我第一个找到的空行会保存在变量 "emptyRow" 中 - 然后我可以说
读取范围"D2:K" + emptyRow - 1
所以我的目标是在不将空行复制到数据表的意义上使这个读取范围 'dynamically'..
因为此外 - 当我将该数据表复制到另一个 excel 文件时 - 我想用不同的颜色为特定范围着色,因此我需要每个范围的特定长度,否则我会将空行着色为嗯..
此致,弗兰茨
有几种方法可以实现:
天真的方法
一个非常简单的方法是读取一个刚好足够大的范围 - 例如 A1:C10000
,然后循环遍历该范围以找到第一个空单元格 - 此时你将退出循环。有一个明显的缺点 - 这根本不是很有效。
调用VBA
另一种选择是使用 Invoke VBA activity,然后使用如下内容:
Function GetRowCount()
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Sheet1")
Dim k As Long
k = sh.Range("A1", sh.Range("A1").End(xlDown)).Rows.Count
GetRowCount = k
End function
这应该可以正常工作,但它需要您使用 Excel 范围(并且这需要您安装 Excel)。
合并获取 Table 和获取范围
这可能是我最喜欢的一个,因为您可以简单地使用工作簿活动(即无需安装 Excel)。但是,它要求您将数据保存在 Excel represented as a table. Here's an example - the Get Table Range activity returns a range (as string, e.g. "A1:C42" which is then used in the Read Range activity.
中
我的问题原则上与
我想遍历 excel 文件 - 当然会使用 Excel 应用程序范围来执行此操作.. 但是当我将 Excel 文件读入数据表时 - 我需要给它一个像 "D2:K30"..
这样的范围"K30" 将是我读入的范围的结尾 - 那么我如何设法获取我的特定 excel 文件的 "end"?
使用 VBA 我会遍历 excel 文件并说出类似
的内容'if row content is ""'
,然后我会知道第一个 EMPTY 行何时出现。
也许我第一个找到的空行会保存在变量 "emptyRow" 中 - 然后我可以说
读取范围"D2:K" + emptyRow - 1
所以我的目标是在不将空行复制到数据表的意义上使这个读取范围 'dynamically'..
因为此外 - 当我将该数据表复制到另一个 excel 文件时 - 我想用不同的颜色为特定范围着色,因此我需要每个范围的特定长度,否则我会将空行着色为嗯..
此致,弗兰茨
有几种方法可以实现:
天真的方法
一个非常简单的方法是读取一个刚好足够大的范围 - 例如 A1:C10000
,然后循环遍历该范围以找到第一个空单元格 - 此时你将退出循环。有一个明显的缺点 - 这根本不是很有效。
调用VBA
另一种选择是使用 Invoke VBA activity,然后使用如下内容:
Function GetRowCount()
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Sheet1")
Dim k As Long
k = sh.Range("A1", sh.Range("A1").End(xlDown)).Rows.Count
GetRowCount = k
End function
这应该可以正常工作,但它需要您使用 Excel 范围(并且这需要您安装 Excel)。
合并获取 Table 和获取范围
这可能是我最喜欢的一个,因为您可以简单地使用工作簿活动(即无需安装 Excel)。但是,它要求您将数据保存在 Excel represented as a table. Here's an example - the Get Table Range activity returns a range (as string, e.g. "A1:C42" which is then used in the Read Range activity.
中