用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

  1. 阅读给定类的所有领域使用reflection,
  2. 遍历excel文件的所有行。
  3. 将字段名称与标题匹配,并获取所有字段的标题索引。
  4. 为每个索引获取单元格的值。
  5. 最后使用reflection将值设置到对象的每个字段。
  6. 返回对象列表。

我已经创build了一个简单的Java库来将Excel文件转换成前一段时间的对象列表。 这可能会帮助你。

如果我正确理解你的问题,你想要将一个属性映射到一个列,这样你可以通过引用属性而不是列号来获得一个订单的属性。

 int orderIdColumn = 0; int trackingIdColumn = 1; int orderTitleColumn = 2; int customerNameColumn = 3; int customerAddressColumn = 5; 

根据您的需要,您也可以声明一个int字段来表示包含标题单元格的行。

声明这些variables的地方取决于程序其余部分的devise,但显然它必须位于代表订单的对象之外,因为它们不是特定于订单的,而是Excel电子表格。