SpringBoot+easypoi实现数据的Excel导出
本文实例为大家分享了SpringBoot+easypoi实现数据的Excel导出的具体代码,供大家参考,具体内容如下
maven
cn.afterturn easypoi-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(); ListtfActivityList = 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导出】以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 孩子不是实现父母欲望的工具——林哈夫
- opencv|opencv C++模板匹配的简单实现
- Node.js中readline模块实现终端输入
- java中如何实现重建二叉树
- 使用协程爬取网页,计算网页数据大小
- 人脸识别|【人脸识别系列】| 实现自动化妆