UiPath中LINQ实现Vlookup需修改查找列的技术问询
代码修改说明
核心修改点(注意:DataTable列索引从0开始,第3列对应索引2):
修改查找匹配的列:
原代码中用于匹配的r(0)(dtData2的查找列)和d(0)(dtData1的查找列)都是第1列的索引,需要全部改为2,对应第3列。修改后的这行代码为:Let check = dtData2.AsEnumerable.Where(Function (r)r(2).toString.Trim.Equals(d(2).toString.Trim)).toList可选:调整输出的源列值:
原代码Let ra = {d(0), c2}里的d(0)是输出dtData1的第1列值,如果需要输出的是第3列(你的查找列)的值,把d(0)改成d(2)即可。可选:调整匹配后获取的目标列:
原代码check(0)(0)是取dtData2匹配行的第1列结果,如果需要取其他列,比如匹配行的第3列,就把check(0)(0)改成check(0)(2)。
修改后的完整代码示例
(From d In dtData1.AsEnumerable Let check = dtData2.AsEnumerable.Where(Function (r)r(2).toString.Trim.Equals(d(2).toString.Trim)).toList Let c2 = If(check.Count() > 0, check(0)(0), "") Let ra = {d(0), c2} ' 若需输出第3列值,替换为{d(2), c2} Select dtResult.Rows.Add(ra)).CopyToDataTable
内容的提问来源于stack exchange,提问作者Arunkumar
相关产品推荐
相关产品推荐

