我有两个excel文件,它们都是用SpreadsheetLight生成的。我需要做的是比较两者是否相同。
对于文本文件,这很容易,因为我只会在每个文件上生成一个MD5和,但由于这些是.xlsx文件,所以这并不像每次生成文件那样容易生成一个稍微不同的文件。从我已经看到的情况来看,有一个解决方案可以比较两个excel文件的内容本身:Comparing two excel files for differences
那么,与问题中的基本问题和答案不同的是:
所以我的问题是:有没有其他方法来比较两个excel文件(特别是与SpreadsheetLight有关的文件)?
发布于 2015-02-19 00:41:24
我不认为简单的嵌套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进行一些预检查,因为如果它们没有相同数量的行和列,那么它们显然是不相同的。
https://stackoverflow.com/questions/28449454
复制相似问题