首页 > 解决方案 > 在 Java 中将实际数据 (xls) 与预期数据 (xlsx) 进行比较

问题描述

我有一个场景可以根据 Java 中的标识符列对 XLS 文件中提供的实际数据与 XLSX 文件中提供的预期数据运行断言。任何人都可以提供任何建议或建议吗?

实际数据

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

交货期 Article.DeliveryTime Item 无

预期数据

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

交货期 Article.DeliveryTime Item ParentQualifier

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

标签: javaxlsxxls

解决方案


我建议将 Excel 文件转换为更结构化的格式,例如 *.csv。只需将 Excel 保存到 *.csv,您就可以做到这一点。有许多 CSV 解析器库。如果由于某种原因(不是数据所有者、管理...)而无法做到这一点,您可以使用Apache POI解析 *.xls / *.xlsx 文件,然后进行测试。如何在此处显示Link1或此处Link2。然后,您可以简单地使用 JUnit 运行断言。

但是有两个潜在的问题:

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

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


推荐阅读