2015-02-11 56 views
0

我有兩個excel文件,這兩個文件都是用SpreadsheetLight生成的。我需要做的是比較兩者是否相同。有沒有辦法比較2 Excel文件的內容(包括格式)和SpreadsheetLight?

處理文本文件,這將是很容易,因爲我只想在生成每個文件的MD5總和,但因爲這些文件的.xlsx這是不是在一個稍微不同文件中的每個文件生成的結果一樣簡單。從我所看到的已經有基本上比較2個Excel文件內容本身的解決方案:Comparing two excel files for differences

那麼,什麼是在這個問題的基本問題和回答不同:

  1. 我使用SpreadsheetLight生成兩個文件
  2. 我不僅需要比較文件中的數據,而且所有的格式,...

所以我的問題有:是否存在有任何其他的方式來比較2個Excel文件(特別是與SpreadsheetLight involvde)?

回答

0

我不認爲一個簡單的嵌套循環for會做的伎倆:

bool AreSheetsIdentical(SLDocument doc1, SLDocument doc2) 
{ 
    SLWorksheetStatistics stats1 = doc1.GetWorksheetStatistics(); 
    SLWorksheetStatistics stats2 = doc2.GetWorksheetStatistics(); 

    for (int i = 1; i < stats1.EndColumnIndex; i++) 
    { 
     for (int j = 1; j < stats1.EndRowIndex; j++) 
     { 
      if (doc1.GetCellValueAsString(i, j) != doc2.GetCellValueAsString(i, j)) 
       return false; 
      if (doc1.GetCellStyle(i, j) != doc2.GetCellStyle(i, j)) 
       return false; 
     } 
    } 
    return true; 
} 

你也可以做一些前期檢查中存在使用GetWorksheetStatistics,因爲如果他們不具有相同數量的行和列,它們顯然不相同。

相關問題