<dependency>
<groupId>org.jxls</groupId>
<artifactId>jxls-reader</artifactId>
<version>2.0.2</version>
</dependency>
import org.jxls.reader.ReaderBuilder;
import org.jxls.reader.XLSReadStatus;
import org.jxls.reader.XLSReader;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
public class ExcelReader {
public static void main(String[] args) {
try {
String xmlConfigPath = "path/to/config.xml";
String excelFilePath = "path/to/excel.xlsx";
InputStream configInputStream = new BufferedInputStream(new FileInputStream(xmlConfigPath));
InputStream excelInputStream = new BufferedInputStream(new FileInputStream(excelFilePath));
XLSReader xlsReader = ReaderBuilder.buildFromXML(configInputStream);
Map<String, Object> beans = new HashMap<>();
XLSReadStatus readStatus = xlsReader.read(excelInputStream, beans);
if (readStatus.isStatusOK()) {
List<Person> persons = (List<Person>) beans.get("personList");
for (Person person : persons) {
System.out.println("---------");
}
} else {
}
configInputStream.close();
excelInputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
<workbook>
<worksheet name="Sheet1">
<loop startRow="1" endRow="1" items="personList" var="person">
<section endRow="1">
<mapping row="1">
<column num="1" property="name"/>
<column num="2" property="age"/>
<column num="3" property="gender"/>
</mapping>
</section>
</loop>
</worksheet>
</workbook>