在某些项目中,报表比对是测试的一大内容。比如,在某版本下生成baseline report作为标准答案,新代码进来后,再次生成report,跟baseline report作比较,确保改动没有引入差异。报表多以excel文件形式导出,用工具进行excel文件比对十分有用。
Apache POI 是一个很好的处理microsoft office documents的java库,通过它可以读写word文档,读写Excel文件,读写power point文件,还有visio等等,功能十分强大。

这里,我建了一个maven项目,使用了poi里面的xssf读.xlsx格式的excel文件(如果想要操作.xls格式的excel文件,则必须使用poi里面的hssf),然后比对source和target文件的差异,并将差异输出。同时使用了JUnit进行代码的单元测试。

工程已Push至github https://github.com/biantech/compare-excel 。

使用如下命令运行jar包:

java - jar excelComparison.jar sourceExcelPath targetExcelPath