2013-04-24 159 views
0

我正在开发一个工具来比较两个excel文件的过程。比较两个excel文件

一个excel文件包含大约300-400行。在每个excel文件中有4个表格,列数不同。表格在一张纸上依次排列。

我尝试使用来自source forge的Beyond Compare,TestComplete和ExcelCompare宏等excel比较工具。但没有人工作。我认为这是因为该文件包含不同的表格。所以我打算开发一个工具来比较excel文件。但根据我的研究,这不是一个简单的任务:)

我的方法是从2个excel文件中提取2行(第一行从A.xlsx和第一行一次从B.xlsx开始),将这些值放入sperate 2数组中,然后比较这些值。识别不同的值并将其写回新的Excel文件。

此方法是否有效或适用于300行的文件...?如果有人有一个不同的和简单的想法,请与我分享。

我打算使用C#和Excel 2010进行开发。

任何帮助表示赞赏:)

+1

填写两个数据表并比较它们? – 2013-04-24 10:13:04

+0

除了@DT建议之外,您还可以使用类似FileHelpers.com的内容来读取Excel中的数据范围。然后有很多答案来比较StackOverflow上的DataTable。你的方法的一个弱点是你假设数据的顺序是相同的。 – dash 2013-04-24 10:17:59

+0

你看着像ClosedXML什么?将数据轻松放入excel文件非常有用。 http://closedxml.codeplex.com/ – Charles380 2013-04-24 20:33:47

回答

3

我的做法是既床单CSV转换(通过将它们保存到CSV格式,Excel可以为你做的),然后使用字符串距离算法来定位的差异。文件比较器和其他内容比较工具使用此算法提供相当好的结果。

该方法具有的附加益处(相对于线性细胞通过细胞比较),任何丢失的行会被整齐地识别,而不是标记的全部数据作为不同的休息。