From b62750e2c92da60cfb08bdd0d13a036d7a689321 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Tue, 29 Aug 2023 15:44:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E4=B8=8B=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ProjectRxswinEOController.java | 11 ++- .../service/IProjectRxswinEOService.java | 4 ++ .../impl/ProjectRxswinEOServiceImpl.java | 72 +++++++++++++++++++ 3 files changed, 85 insertions(+), 2 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectRxswinEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectRxswinEOController.java index feb7ccc85..89eb4b04e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectRxswinEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectRxswinEOController.java @@ -31,9 +31,10 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; import java.util.List; +import java.util.Map; - /** +/** * @Description: rxswin表 * @Author: jero-boot * @Date: 2023-08-28 @@ -162,7 +163,7 @@ public class ProjectRxswinEOController extends JeroController map, HttpServletResponse response, HttpServletRequest request) throws Exception { + projectRxswinEOService.exportTemplate(map, response, request); + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectRxswinEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectRxswinEOService.java index 1804ea89e..3d8f87098 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectRxswinEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectRxswinEOService.java @@ -7,7 +7,9 @@ import com.jero.modules.project.entity.ProjectRxswinEO; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.List; +import java.util.Map; /** * @Description: rxswin表 @@ -104,4 +106,6 @@ public interface IProjectRxswinEOService extends IService { List getVersionList(String projectId); ModelAndView exportXls(HttpServletRequest request, ProjectRxswinEO projectRxswinEO); + + void exportTemplate(Map map, HttpServletResponse response, HttpServletRequest request); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRxswinEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRxswinEOServiceImpl.java index 1b00b5952..1c78e92a8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRxswinEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRxswinEOServiceImpl.java @@ -1,5 +1,6 @@ package com.jero.modules.project.service.impl; +import com.aliyuncs.utils.IOUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -18,16 +19,25 @@ import com.jero.modules.project.enums.StatusEnum; import com.jero.modules.project.mapper.ProjectRxswinEOMapper; import com.jero.modules.project.service.IProjectRxswinEOService; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.hssf.usermodel.HSSFCellStyle; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.VerticalAlignment; import org.apache.shiro.SecurityUtils; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.OutputStream; import java.text.Collator; import java.util.ArrayList; import java.util.Arrays; @@ -35,6 +45,7 @@ import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Locale; +import java.util.Map; import java.util.UUID; import java.util.stream.Collectors; @@ -53,6 +64,8 @@ public class ProjectRxswinEOServiceImpl extends ServiceImpl map, HttpServletResponse response, HttpServletRequest request) { + OutputStream os = null; + HSSFWorkbook workbook = new HSSFWorkbook(); + String cut = (String) map.get("cut"); + String sheetName = ""; + if(com.jero.modules.system.util.StringUtils.equals(cut,CutEnum.CN.getValue())){ + sheetName = "RXSWIN"; + }else { + sheetName = "RXSWIN"; + } + String fileOriName = "文档库导入模板.xls"; + String filePath = uploadpath + File.separator + fileOriName; + try { + List list = new ArrayList<>(); + if(CutEnum.CN.getValue().equals((String) map.get("cut"))){ + list.add("编号,主题,RXSWIN,对应版本"); + }else{ + list.add("No.,Theme,RXSWIN,Corresponding version"); + } + //创建临时文件夹 + File nowFile = new File(filePath); + if (nowFile.exists()) { + nowFile.delete(); + } + nowFile.mkdirs(); + HSSFSheet sheet = workbook.createSheet(sheetName); + sheet.setDefaultColumnWidth(16);//列宽 + HSSFCellStyle cellStyle = workbook.createCellStyle(); + cellStyle.setWrapText(true);//自动换行 + cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); + + for (int i = 0; i < 1; i++) { + //表头 + Row row = sheet.createRow(i);//开始创建标题行 + String exportFieldName = list.get(i); + if (i == 0) { + if (com.jero.modules.system.util.StringUtils.isNotBlank(exportFieldName)) { + String[] headerArr = exportFieldName.split(","); + for (int j = 0; j < headerArr.length; j++) { + row.createCell(j).setCellValue(headerArr[j]); + } + } + } + } + response.setHeader("Content-Disposition", + "attachment; filename=\"" + fileOriName + ".xls"); + response.setContentType("application/force-download"); + response.flushBuffer(); + os = response.getOutputStream(); + workbook.write(os); + } catch (Exception e) { + throw new JeroBootException("下载文件失败,请重试"); + } finally { + IOUtils.closeQuietly(os); + } + + } }