比较Java中的实际数据(xls)和预期数据(xlsx)

比较Java中的实际数据(xls)和预期数据(xlsx),java,xlsx,xls,Java,Xlsx,Xls,我有一个场景,基于Java中的标识符列,针对XLSX文件中提供的预期数据,对XLS文件中提供的实际数据运行断言。有人能就此提供任何意见或建议吗 实际数据 字段(名称)字段(标识符)实体(名称)父实体(名称) 交付周期项目。交货期项目无 预期数据 字段(名称)字段(标识符)实体(名称)父实体(名称) 交付周期文章.交货期项目ParentQualifier 行和列的数量可能会根据提供的数据而改变,但字段(标识符)将在两个文件中给出 我建议将Excel文件转换为更结构化的格式,如*.csv。您只需将E

我有一个场景,基于Java中的标识符列,针对XLSX文件中提供的预期数据,对XLS文件中提供的实际数据运行断言。有人能就此提供任何意见或建议吗

实际数据

字段(名称)字段(标识符)实体(名称)父实体(名称)

交付周期项目。交货期项目无

预期数据

字段(名称)字段(标识符)实体(名称)父实体(名称)

交付周期文章.交货期项目ParentQualifier


行和列的数量可能会根据提供的数据而改变,但字段(标识符)将在两个文件中给出

我建议将Excel文件转换为更结构化的格式,如*.csv。您只需将Excel保存到*.csv即可使用Excel完成此操作。有许多CSV解析器库。 如果由于某种原因(不是数据所有者、管理人员等)无法执行此操作,则可以使用解析*.xls/*.xlsx文件,然后执行测试。如何在此处或此处显示。然后,您可以简单地使用JUnit运行断言

但有两个潜在问题:

  • 更改列:您需要在不指定确切列名的情况下解析Excel。然后只比较具有相同名称的列

  • 数据不适合内存:搜索id并仅加载匹配行


谢谢@Terran。非常感谢你的建议。我将朝着这一目标努力,以实现预期的产出。再次感谢。