java - 在 Java 中将实际数据 (xls) 与预期数据 (xlsx) 进行比较
问题描述
我有一个场景可以根据 Java 中的标识符列对 XLS 文件中提供的实际数据与 XLSX 文件中提供的预期数据运行断言。任何人都可以提供任何建议或建议吗?
实际数据
字段(名称) 字段(标识符) 实体(名称) ParentEntity(名称)
交货期 Article.DeliveryTime Item 无
预期数据
字段(名称) 字段(标识符) 实体(名称) ParentEntity(名称)
交货期 Article.DeliveryTime Item ParentQualifier
行数和列数可能会根据提供的数据而变化,但两个文件中都会给出字段(标识符)。
解决方案
我建议将 Excel 文件转换为更结构化的格式,例如 *.csv。只需将 Excel 保存到 *.csv,您就可以做到这一点。有许多 CSV 解析器库。如果由于某种原因(不是数据所有者、管理...)而无法做到这一点,您可以使用Apache POI解析 *.xls / *.xlsx 文件,然后进行测试。如何在此处显示Link1或此处Link2。然后,您可以简单地使用 JUnit 运行断言。
但是有两个潜在的问题:
更改列:您需要在不指定确切列名的情况下解析 Excel。然后只比较具有相同名称的列。
数据不适合内存:搜索 id 并仅加载匹配的行。
推荐阅读
- cassandra - 一对多的数据模型 - Cassandra 中的项目容器
- css - 如何折叠 CSS 网格中未使用的行?
- c# - 按下制表键时如何更改文本框的背景颜色
- github - 在 slack 上订阅 git 存储库
- javascript - 为什么我不能在 if 语句中添加 var
- c# - WPF - 在 ContentPresenter 中停靠内容
- asp.net - Ajax 问题仅在面向外部的服务器上
- c++ - 用 decltype 和 auto 推导 const(返回)类型
- javascript - 旋转以弧度指向某物而不绕零
- windows-10 - 在注册表 windows 10 中删除驱动器的历史记录