一尘不染

比较Java中两个Excel文件的最简单方法?

java

我正在为生成Excel文件(二进制文件)的某些代码编写JUnit测试。我还有另一个包含预期输出的Excel文件。将实际文件与预期文件进行比较的最简单方法是什么?

当然,我可以自己编写代码,但是我想知道在受信任的第三方库(例如Spring或Apache Commons)中是否已有这样做的方法。


阅读 818

收藏
2020-12-03

共1个答案

一尘不染

这就是我最终要做的(由DBUnit完成繁重的工作):

/**
 * Compares the data in the two Excel files represented by the given input
 * streams, closing them on completion
 * 
 * @param expected can't be <code>null</code>
 * @param actual can't be <code>null</code>
 * @throws Exception
 */
private void compareExcelFiles(InputStream expected, InputStream actual)
  throws Exception
{
  try {
    Assertion.assertEquals(new XlsDataSet(expected), new XlsDataSet(actual));
  }
  finally {
    IOUtils.closeQuietly(expected);
    IOUtils.closeQuietly(actual);
  }
}

这将比较两个文件中的数据,没有任何可能不同的不相关元数据造成误报的风险。希望这对某人有帮助。

2020-12-03