如何使用Apache POI将我的xlsx工作表转换为java对象

2022-09-02 19:47:59

任何人都可以建议我使用Apache POI将我的xlsx工作表转换为java对象。

eq,我的excel工作表包含两列

  • emp_no emp_name
  • 01 阿南德
  • 02 库马尔

和我的 java 对象

Employee{
String empNo;
String empName; 
}

现在我想将我的excel工作表转换为java对象。我在互联网上尝试过,但大多数教程都谈到迭代每行并为每个成员分配值。JAXB xml解析器中是否有任何像Marshaller和UnMarshaller这样的直接转换功能。

提前致谢。


答案 1

对于给定的场景,我假设工作表的每一行都表示一个员工,其中第一列保留员工编号,第二列保留员工姓名。因此,您可以使用以下内容:

Employee{
  String empNo;
  String empName; 
}

创建将员工信息分配为

assignEmployee(Row row){
    empNo = row.getCell(0).toString();
    empName = row.getCell(1).toString();
}

或者,如果需要,您可以为相同的构造函数创建一个构造函数。

现在,您只需要循环访问每行即可使用上述方法获取/使用信息。

Employee emp = new Employee();
Iterator<Row> itr = sheet.iterator();
    while(itr.hasNext()){
       Row row = itr.next();
       emp.assignEmployee(row);
      //  enter code here for the rest operation
}

答案 2

在内部使用Apache POI尝试使用此库,以从excel转换为POJO


推荐