您的位置:首頁技術文章
文章詳情頁

SpringBoot+easypoi實現數據的Excel導出

瀏覽:99日期:2022-06-15 18:25:35

本文實例為大家分享了SpringBoot+easypoi實現數據的Excel導出的具體代碼,供大家參考,具體內容如下

maven

<dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-spring-boot-starter</artifactId> <version>4.1.0</version></dependency>

Controller層

// 接口不需要返回值@RequestMapping(value = '/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<TFActivityQueryResult> tfActivityList = getTFActivityList(param);List<TFActivityQueryResultExportDto> 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;}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: excel
相關文章:
国产综合久久一区二区三区