用java对象映射excel字段的最佳方式
我正在尝试用java对象来映射一个excel字段。 什么是最好的方式,而不是依赖于列号。
Cell orderId=row.getCell(0); System.out.println("orderId" +orderId); Cell trackingId=row.getCell(1); Cell orderTitle = row.getCell(2); Cell customerName = row.getCell(3); Cell customerAddress = row.getCell(5);
如何用没有bieng的对象variables映射列依赖于列号?
我正在寻找的东西,我可以映射行标题与对象,其余应该是独立的行号。 有什么build议么?
如果要将列与对象variables进行映射而不依赖于列号,则需要有一些方法将类fieldName与Excel文件头名称相匹配,并相应地设置值。 一种方法是使用reflection
:
- 阅读给定类的所有领域使用reflection,
- 遍历excel文件的所有行。
- 将字段名称与标题匹配,并获取所有字段的标题索引。
- 为每个索引获取单元格的值。
- 最后使用reflection将值设置到对象的每个字段。
- 返回对象列表。
我已经创build了一个简单的Java库来将Excel文件转换成前一段时间的对象列表。 这可能会帮助你。
如果我正确理解你的问题,你想要将一个属性映射到一个列,这样你可以通过引用属性而不是列号来获得一个订单的属性。
int orderIdColumn = 0; int trackingIdColumn = 1; int orderTitleColumn = 2; int customerNameColumn = 3; int customerAddressColumn = 5;
根据您的需要,您也可以声明一个int
字段来表示包含标题单元格的行。
声明这些variables的地方取决于程序其余部分的devise,但显然它必须位于代表订单的对象之外,因为它们不是特定于订单的,而是Excel电子表格。