//这个方法会被循环调用 page每次+1
IExcelExportServer iExcelExportServer = (queryParams, page) -> {
if (queryParams instanceof PageRequest) {
PageHelper.startPage(page, CommonConstants.Number.TEN_THOUSAND_INTEGER);
List<ConsultationWorkForceEntity> consultationWorkForceList = consultationWorkForceMapper.findAll(findWorkingScheduleDTO);
if (CollectionUtils.isNotEmpty(consultationWorkForceList)) {
List<WorkingScheduleListExport> exportList = new ArrayList<>();
List<WorkingScheduleListVO> consultationWorkForceVoList = buildWorkingScheduleVO(consultationWorkForceList);
for (WorkingScheduleListVO workingScheduleListVO : consultationWorkForceVoList) {
WorkingScheduleListExport workingScheduleListExport = new WorkingScheduleListExport();
StringBuilder builder = new StringBuilder();
if (StringUtils.isNotBlank(workingScheduleListVO.getRoomName())) {
builder.append(workingScheduleListVO.getRoomName());
}
if (StringUtils.isNotBlank(workingScheduleListVO.getVideoNumber())) {
if (StringUtils.isNotBlank(workingScheduleListVO.getRoomName())) {
builder.append(SymbolConstant.VIRGULE);
}
builder.append(workingScheduleListVO.getVideoNumber());
}
String roomName = builder.toString();
if (StringUtils.isBlank(roomName)) {
roomName = SymbolConstant.MIDLINE;
}
BeanUtils.copyProperties(workingScheduleListVO, workingScheduleListExport);
workingScheduleListExport.setRoomName(roomName);
exportList.add(workingScheduleListExport);
}
return new ArrayList<>(exportList);
}
}
return null;
};
workbook = ExcelExportUtil.exportBigExcel(exportParams, WorkingScheduleListExport.class, iExcelExportServer, new PageRequest());
easypoi大批量数据导出避免oom
最新推荐文章于 2024-04-25 15:06:04 发布