use*_*930 1 apache compare apache-poi
我需要将两个工作表与 Apache POI 进行比较。有没有一种简单的方法可以做到这一点,例如工作表比较功能,或者我必须比较每个单元格?
小智 5
由于这是 Google 上关于比较 POI 工作簿的第一个问题之一,因此我想分享一个适用于单元测试的解决方案。我找到了一个很好的 Hamcrest 匹配器来解决这个问题:
http://baddotrobot.com/blog/2012/09/14/diff-excel-with-java-and-hamcrest/
基本上,通过 Maven 导入库(在 Github README 中有详细说明)。一旦你有两个 POI 工作簿,你就可以写一个类似这样的断言:
MatcherAssert.assertThat("Workbooks to be identical", actualWorkbook,
WorkbookMatcher.sameWorkbook(expectedWorkbook));
Run Code Online (Sandbox Code Playgroud)
注意:我在这里使用 MatcherAssert 来获取关于比较的更详细的注释,但 JUnit Assert 也可以使用。这是在作者的网站上注明的。
它可以在GitHub 上和通过作者的个人 Maven 存储库获得。