2013-04-24 155 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可以爲你做的),然後使用字符串距離算法來定位的差異。文件比較器和其他內容比較工具使用此算法提供相當好的結果。

該方法具有的附加益處(相對於線性細胞通過細胞比較),任何丟失的行會被整齊地識別,而不是標記的全部數據作爲不同的休息。