跳到主要内容

表头

本章节将介绍读取 Excel 中的表头数据。

读取表头数据

概述

可以通过重写监听器的 invokeHead 方法获取表头信息。

数据监听器

@Slf4j
public class DemoHeadDataListener extends AnalysisEventListener<DemoData> {
@Override
public void invokeHead(Map<Integer, ReadCellData<?>> headMap, AnalysisContext context) {
log.info("解析到表头数据: {}", JSON.toJSONString(headMap));
}

@Override
public void invoke(DemoData data, AnalysisContext context) {}

@Override
public void doAfterAllAnalysed(AnalysisContext context) {}
}

代码示例

@Test
public void headerRead() {
String fileName = "path/to/demo.xlsx";

FastExcel.read(fileName, DemoData.class, new DemoHeadDataListener())
.sheet()
.doRead();
}

多行表头读取

概述

通过设置 headRowNumber 参数或根据实体类的表头注解自动解析多行表头。

代码示例

@Test
public void complexHeaderRead() {
String fileName = "path/to/demo.xlsx";

FastExcel.read(fileName, DemoData.class, new DemoDataListener())
.sheet()
// 设置多行表头的行数,默认为 1
.headRowNumber(2)
.doRead();
}

表头 POJO

概述

通过使用 head() 方法设置表头 POJO。

代码示例

@Test
public void headerPojoRead() {
String fileName = "path/to/demo.xlsx";

FastExcel.read(fileName, new DemoDataListener())
.head(DemoData.class)
.sheet()
.doRead();
}