easyexcel最后一行统计数据
时间: 2023-11-15 21:56:56 浏览: 1138
可以使用EasyExcel提供的监听器来实现最后一行统计数据的功能。具体步骤如下:
1. 自定义一个监听器类,继承自AnalysisEventListener,并重写invoke方法,在该方法中实现对每一行数据的处理。
2. 在invoke方法中,判断当前读取的行是否为最后一行,如果是,则进行统计操作。
3. 统计完成后,将统计结果写入Excel文件的最后一行。
以下是示例代码:
```java
public class ExcelListener extends AnalysisEventListener<Data> {
private List<Data> dataList = new ArrayList<>();
@Override
public void invoke(Data data, AnalysisContext context) {
// 处理每一行数据
dataList.add(data);
// 判断是否为最后一行
if (context.readRowHolder().getRowIndex() == context.readSheetHolder().getApproximateTotalRowNumber() - 1) {
// 统计数据
int sum = 0;
for (Data d : dataList) {
sum += d.getValue();
}
// 写入统计结果
WriteSheet writeSheet = EasyExcel.writerSheet().build();
ExcelWriter excelWriter = EasyExcel.write("output.xlsx").build();
excelWriter.write(new ArrayList<>(Collections.singletonList(new Data("总计", sum))), writeSheet);
excelWriter.finish();
}
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
// 处理完所有数据后的操作
}
}
```
阅读全文