sample data在excel中有1条不匹配的记录,我需要将其作为输出。
答案 0 :(得分:0)
我可以想到两种选择:
执行此操作的简单方法是遍历两个集合中较大的一个,并在另一个集合上使用Filter Collection
中的Utilities - Collection manipulation
,以查看是否有与主集合中的值相同的行在另一个集合中。这种方法可以很好地工作,但是如果您有大量馆藏,它将需要不必要的阶段数,更多的构建时间,并且性能会受到影响。
以编码方式进行操作将意味着使用VB.NET或C#并使用Except
命令。即使在堆栈溢出(example)上也有几个示例。该解决方案的缺点是需要一些.NET背景知识。您将需要添加其他DLL引用(System.Data.DataSetExtensions.dll
和System.Core.dll
)和名称空间(System.Linq
)。
那么C#代码将是:
colOut = col1.AsEnumerable().Except(col2.AsEnumerable(), DataRowComparer.Default).CopyToDataTable();
...其中col1和col2是输入集合,而colOut是输出集合。
请记住,您上面的代码将从col1中找到col2中不存在的行,要从col2中找到col1中不存在的行,您将不得不切换输入并再次运行它或调整编写更多代码。