Headers
This chapter introduces how to read header data from Excel files.
Reading Header Data
Overview
You can obtain header information by overriding the invokeHead
method in the listener.
Data Listener
@Slf4j
public class DemoHeadDataListener extends AnalysisEventListener<DemoData> {
@Override
public void invokeHead(Map<Integer, ReadCellData<?>> headMap, AnalysisContext context) {
log.info("Parsed header data: {}", JSON.toJSONString(headMap));
}
@Override
public void invoke(DemoData data, AnalysisContext context) {}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {}
}
Code Example
@Test
public void headerRead() {
String fileName = "path/to/demo.xlsx";
FastExcel.read(fileName, DemoData.class, new DemoHeadDataListener())
.sheet()
.doRead();
}
Multi-Row Header Reading
Overview
Parse multi-row headers by setting the headRowNumber
parameter or automatically based on header annotations in entity classes.
Code Example
@Test
public void complexHeaderRead() {
String fileName = "path/to/demo.xlsx";
FastExcel.read(fileName, DemoData.class, new DemoDataListener())
.sheet()
// Set the number of header rows, default is 1
.headRowNumber(2)
.doRead();
}
Header POJO
Overview
Set header POJO using the head()
method.
Code Example
@Test
public void headerPojoRead() {
String fileName = "path/to/demo.xlsx";
FastExcel.read(fileName, new DemoDataListener())
.head(DemoData.class)
.sheet()
.doRead();
}