SpringBoot+easypoi实现数据的Excel导出

本文实例为大家分享了SpringBoot+easypoi实现数据的Excel导出的具体代码,供大家参考,具体内容如下
maven

cn.afterturneasypoi-spring-boot-starter4.1.0

Controller层
// 接口不需要返回值@RequestMapping(value = "https://www.it610.com/export-activity-data")public void exportActivityData(@RequestParam String activityType,@RequestParam String activityState,@RequestParam String queryValue,@RequestParam String levelValue,@RequestParam String startTime,@RequestParam String endTime, HttpServletResponse response) {try {manageService.exportActivityData(TFActivityQueryParam.builder().activityState(activityState).activityType(activityType).queryValue(queryValue).levelValue(levelValue).startTime("".equals(endTime) ? null : new Date(DateTime.parse(startTime).getMillis())).endTime("".equals(endTime) ? null : new Date(DateTime.parse(endTime).getMillis())).build(), response); } catch (IOException e) {log.info( "导出失败", e); }}

service层
public void exportActivityData(TFActivityQueryParam param, HttpServletResponse response) throws IOException {response.setCharacterEncoding("UTF-8"); response.setHeader("content-Type", "application/vnd.ms-excel"); response.setHeader("Content-Disposition","attachment; filename=" + URLEncoder.encode("活动综合数据.xls", "UTF-8")); val out = response.getOutputStream(); List tfActivityList = getTFActivityList(param); List exportDtoList = new ArrayList<>(); tfActivityList.forEach(activity -> {TFActivityQueryResultExportDto convert = TFActivityQueryResultExportDto.convert(activity); if (activity.getLevelType().equals("0")) {convert.setAffiliation("云南省"); } else {EparchyCode eparchyCode = getEparchyCodeList().stream().filter(code -> code.getEparchyCode().equals(activity.getEparchyCode())).collect(Collectors.toList()).get(0); convert.setAffiliation(eparchyCode.getEparchyShortName()); }exportDtoList.add(convert); }); Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("活动综合数据", "活动"), TFActivityQueryResultExportDto.class, exportDtoList); log.info("workbook: {}", workbook); workbook.write(out); out.close(); }

数据bean
public class TFActivityQueryResultExportDto {@Excel(name = "活动编码", width = 20)private String activityCode; @Excel(name = "活动名称", width = 20)private String activityName; @Excel(name = "活动标题", width = 20)private String activityTitle; @Excel(name = "归属", width = 20)private String affiliation; @Excel(name = "活动类型", width = 20)private String activityType; @Excel(name = "活动时间", width = 30)private String activityTime; @Excel(name = "活动状态", width = 20)private String activityState; @Excel(name = "备注", width = 30)private String remark; @Excel(name = "创建时间", width = 30)private String timeCreate; @Excel(name = "最新操作人", width = 30)private String operatorName; @Excel(name = "更新时间", width = 30)private String timeUpdate; }

【SpringBoot+easypoi实现数据的Excel导出】以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    推荐阅读