UiPath学习圈

UiPath如何读取文件夹中所有文件(遍历文件夹)

2019-07-20  本文已影响0人  Calm大大

应用案例:从系统/邮件下载若干数据,将下载的数据保存在特定文件夹后,继续做文件合并动作

举例:D盘文件夹“Folder”中有4个excel文件,需要用UiPath做简单的文件合并动作,新合并文件命名为“new file”。

说明:

1.读取文件夹中所有文件的个数,需要定义数组变量,然后建立循环。

2.循环中做excel文件合并,可以选择两个activity “append range”&“write range”其中之一。

   append range:不覆盖表格中已存在的资料行。

   write range是从指定行开始写入。

首先我们来看,如何取得文件夹中的所有文件,利用assign如下:

Value设置为Directory.GetFiles("D:\Folder")

doc_directory是一个变量,类型为String[]

通过这样的设定后,doc_directory就是包含了文件夹中所有文件名称的数组。这里如果想要知道文件个数,用write line加“doc_directory.count.toString”就可以得知这个文件夹中有多少个文件。

如下:

接下来需要合并所有的文件,最好的方法是“循环”,这里选用For each循环方法:

这样就可以做到将excel中文件做合并了。

小提示:

使用read range时,UiPath默认是选中“add headers”选项的,如果勾选,表示数据含标题行,写入append range时无“add headers”选项,所有得出的合并表格new file会缺失标题。解决这个问题的方案是,对新增的deta table先做标题行的定义再加写入的动作。

使用read range时,如果不勾选“add headers”,表示数据无标题,用append range写入时,会将每个文件中的标题行都写入new file。当然,继续处理,用remove duplicate rows就可以修复这个问题啦。

同样的问题可以有不同的解决方案,至于选用哪种取决于大家对UiPath的熟悉程度,笔者每次尽量用不同的activity做范例,以利于大家的更快进步。

4.  如果大家有更感兴趣的话题,在公众号直接留言给我,我会优先处理。

如果对您有帮助,欢迎点赞支持。更欢迎您分享朋友圈,分享给更多有需要的人。

上一篇下一篇

猜你喜欢

热点阅读