From 5be078c37cbda80e5f45bb913e338f95c27ed9ec Mon Sep 17 00:00:00 2001 From: Jackwang Date: Wed, 11 May 2022 17:45:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/utils/ExcelUtils.java | 63 +++++++++++++++++++ .../com/epmet/dto/ChangeDeathExportDTO.java | 44 +++++++++++++ .../service/impl/ChangeDeathServiceImpl.java | 4 +- .../impl/ChangeRelocationServiceImpl.java | 2 +- 4 files changed, 110 insertions(+), 3 deletions(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ChangeDeathExportDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ExcelUtils.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ExcelUtils.java index bd5c5597c0..3d6324f4fa 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ExcelUtils.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ExcelUtils.java @@ -64,6 +64,36 @@ public class ExcelUtils { out.close(); } + /** + * Excel导出 + * + * @param response response + * @param fileName 文件名 + * @param list 数据List + * @param pojoClass 对象Class + */ + public static void exportExcelEpmet(HttpServletResponse response, String fileName, Collection list, + Class pojoClass) throws IOException { + if(StringUtils.isBlank(fileName)){ + //当前日期 + fileName = DateUtils.format(new Date()); + } + + ExportParams exportParams = new ExportParams(); + //设置导出的样式 + exportParams.setStyle(EasyPoiExcelExportStylerImpl.class); + //设置sheet名称 + exportParams.setSheetName("Sheet1"); + Workbook workbook = ExcelExportUtil.exportExcel(exportParams, pojoClass, list); + Sheet sheet1 = workbook.getSheetAt(0); + sheet1.setDefaultColumnWidth(50*256); + //sheet1.setDefaultRowHeight((short)(2*256)); + ServletOutputStream out = ExcelUtils.getOutputStreamForExcelEpmet(fileName,response); + workbook.write(out); + out.flush(); + out.close(); + } + /** * Excel导出,先sourceList转换成List,再导出 * @@ -84,6 +114,26 @@ public class ExcelUtils { exportExcel(response, fileName, targetList, targetClass); } + /** + * Excel导出,先sourceList转换成List,再导出 + * + * @param response response + * @param fileName 文件名 + * @param sourceList 原数据List + * @param targetClass 目标对象Class + */ + public static void exportEpmetExcel(HttpServletResponse response, String fileName, Collection sourceList, + Class targetClass) throws Exception { + List targetList = new ArrayList<>(sourceList.size()); + for(Object source : sourceList){ + Object target = targetClass.newInstance(); + BeanUtils.copyProperties(source, target); + targetList.add(target); + } + + exportExcelEpmet(response, fileName, targetList, targetClass); + } + public static ServletOutputStream getOutputStreamForExcel(String fileName, HttpServletResponse response) throws IOException { fileName = URLEncoder.encode(fileName, "UTF-8"); if (!fileName.endsWith(".xls") && !fileName.endsWith(".xlsx")){ @@ -97,6 +147,19 @@ public class ExcelUtils { return response.getOutputStream(); } + public static ServletOutputStream getOutputStreamForExcelEpmet(String fileName, HttpServletResponse response) throws IOException { + fileName = URLEncoder.encode(fileName, "UTF-8"); + if (!fileName.endsWith(".xls") && !fileName.endsWith(".xlsx")){ + fileName = fileName + ".xls"; + } + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("utf8"); + response.setHeader("Content-Disposition", "attachment;filename=" + fileName); + response.addHeader("Access-Control-Expose-Headers", "Content-disposition"); + + return response.getOutputStream(); + } + /** * desc:easypoi导出多个sheet * @param fileName diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ChangeDeathExportDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ChangeDeathExportDTO.java new file mode 100644 index 0000000000..f57b8fb2be --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/ChangeDeathExportDTO.java @@ -0,0 +1,44 @@ +package com.epmet.dto; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 死亡名单表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2022-05-05 + */ +@Data +public class ChangeDeathExportDTO { + + + @Excel(name = "姓名") + private String name; + + @Excel(name = "身份证") + private String idCard; + + @Excel(name = "手机号") + private String mobile; + + @Excel(name = "性别",replace = { "男_1", "女_0"} ) + private String gender; + + @Excel(name = "类型",replace = { "房东_1", "租客_0"} ) + private String type; + + @Excel(name = "加入时间") + private String joinDate; + + @Excel(name = "加入原因") + private String joinReason; + + @Excel(name = "创建时间", format = "yyyy-MM-dd HH:mm:ss") + private Date createdTime; + + + +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeDeathServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeDeathServiceImpl.java index 15f9cfcbab..df9ffd382e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeDeathServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeDeathServiceImpl.java @@ -92,8 +92,8 @@ public class ChangeDeathServiceImpl extends BaseServiceImpl wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); - wrapper.eq(StringUtils.isNotBlank(name), "NAME", name); + wrapper.like(StringUtils.isNotBlank(name), "NAME", name); wrapper.eq(StringUtils.isNotBlank(idCard), "ID_CARD", idCard); wrapper.eq(StringUtils.isNotBlank(mobile), "MOBILE", mobile); wrapper.ge(StringUtils.isNotBlank(startTime), "OUT_OF_TIME", startTime);