<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>net.sf.jxls</groupId>
<artifactId>jxls-reader</artifactId>
<version>2.0.2</version>
</dependency>
</dependencies>
InputStream input = new FileInputStream("path/to/excel.xlsx");
XLSReader reader = ReaderBuilder.buildFromXML(new FileInputStream("path/to/template.xml"));
List<Employee> employees = new ArrayList<>();
Map<String, Object> beans = new HashMap<>();
beans.put("employees", employees);
reader.read(input, beans);
for (Employee employee : employees) {
System.out.println(employee.getName());
System.out.println(employee.getAge());
}
<workbook>
<worksheet>
<loop startRow="1" endRow="1" items="employees" var="employee">
<bean cell="A${employee.rowNum}" var="employee" type="com.example.Employee">
<property name="name" cell="B${employee.rowNum}"/>
<property name="age" cell="C${employee.rowNum}"/>
</bean>
</loop>
</worksheet>
</workbook>