对数据的筛选使用“Filter Data Table”这个活动可以对每一行或者每一列的值进行筛选。但是好像做不到对重复的列进行筛选。
一开始博主想通过“For Each”来遍历循环,判断新建的表中是否存在这一行数据,存在丢掉,不存在丢弃。但是觉得这种方法太“笨”了,所以想在互联网上找一下解决方法,但似乎没有找到一种简短有效的方法:vba以及Linq(这两种方法博主都已经试过了,应该是可行的,只不过过程中出现错误没有继续进行下去,有定力的小伙伴可以去试一下,等我有时间了我也会试的,成功的小伙伴可以交流一下经验! T T)
然后就去爬*去外面找了一下,发现了一个DataTable一个很棒的方法DefaultVaule,可以筛选Excel中的重复行,下面博主通过一个实例给大家演示一下:
例表长这个样子
1.首先通过“Read Range”获取需要读取的Excel,并建立数据类型为“DataTable”类型的变量,在属性勾选“AddHeaders”
2.新建类型为“DataTable”输出变量“DT”,将 步骤1 输出的变量,通过使用“Assign”对新建的变量使用DefaultValue方法进行赋值。表达式为【DT=DT_DataSource.DefaultView.ToTable(True,"姓名")】:【True】表示对重复的值进行筛选,【“姓名”】表示筛选列的列名。来完成对“姓名”列的重复值筛选
3.将筛选后的数据“DT”通过“Write Range”写入到新的表中
运行一下,看下最后的结果:
但是此种方法只能筛选单列,不能将此行其他列的结果筛选过去,如下两图,如果有需要的同学可以自行尝试解决一下这个问题。