java - 将 excel 字段与 java 对象映射的最佳方法

标签 java excel apache-poi spring-jdbc xssf

我正在尝试将 Excel 字段与 java 对象映射。最好的方法是什么而不是依赖于列号。

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);

如何在不依赖于列号的情况下将列与对象变量映射?

我正在寻找可以将行标题与对象映射的东西,其余部分应该独立于行号。 有什么建议吗?

最佳答案

如果您想将列与对象变量映射而不依赖于列号,那么您需要有某种方法将类 fieldName 与 Excel 文件头名称匹配并相应地设置值。一种方法是使用反射:

  1. 使用反射读取给定类的所有字段,
  2. 迭代 Excel 文件的所有行。
  3. 将字段名称与标题进行匹配,并获取所有字段的标题索引。
  4. 从每个索引的单元格中获取值。
  5. 最后使用反射为对象的每个字段设置值。
  6. 返回对象列表。

我创建了一个简单的Java library将 Excel 文件转换为前段时间的对象列表。这可能对你有帮助。

关于java - 将 excel 字段与 java 对象映射的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45691072/

相关文章:

java - 无法使用 Apache POI 设置作者和标题

java - java POI 按列名读取Excel

java - 想要使用 CAMEL、CXF 和 Karaf 访问静态资源

excel - 如何从自定义日期字符串中获取周数

Java TCP/IP 套接字发送字节对齐数据

sql - 将 Excel 导入 SQL 时保留前导零

excel - 如何使用 INDEX/MATCH 找到正确的矩阵

java - 为什么简单的 FileInputStream 行返回异常?

java - JAVA 中具有 2 个以上字节的 UTF8 字符串的 Substring 或 characterAt 方法

java - 使用 JNI 通过 std::ostream 从 C++ 获取文本数据到 Java