模板下载

This commit is contained in:
zhn
2023-08-29 15:44:07 +08:00
parent f5ea73c83a
commit b62750e2c9
3 changed files with 85 additions and 2 deletions
@@ -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<ProjectRxswinEO, I
* @param projectRxswinEO
*/
@ApiOperation(value="导出", notes="导出")
@RequestMapping(value = "/exportXls")
@RequestMapping(value = "/exportXls",method = RequestMethod.GET)
public ModelAndView exportXls(HttpServletRequest request, ProjectRxswinEO projectRxswinEO) {
return projectRxswinEOService.exportXls(request,projectRxswinEO);
}
@@ -267,4 +268,10 @@ public class ProjectRxswinEOController extends JeroController<ProjectRxswinEO, I
return Result.OK(list);
}
@ApiOperation(value = "模板下载")
@GetMapping(value = "/exportTemplate")
public void exportTemplate(@RequestParam Map<String,Object> map, HttpServletResponse response, HttpServletRequest request) throws Exception {
projectRxswinEOService.exportTemplate(map, response, request);
}
}
@@ -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<ProjectRxswinEO> {
List<String> getVersionList(String projectId);
ModelAndView exportXls(HttpServletRequest request, ProjectRxswinEO projectRxswinEO);
void exportTemplate(Map<String, Object> map, HttpServletResponse response, HttpServletRequest request);
}
@@ -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<ProjectRxswinEOMappe
private BussDocumentLibraryEOServiceImpl bussDocumentLibraryEOService;
@Autowired
private ProjectLibraryBaseServiceImpl projectLibraryBaseService;
@Value(value = "${jero.path.upload}")
private String uploadpath;
/**
* 保存
*
@@ -507,4 +520,63 @@ public class ProjectRxswinEOServiceImpl extends ServiceImpl<ProjectRxswinEOMappe
}
}
}
@Override
public void exportTemplate(Map<String, Object> 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<String> 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);
}
}
}