springboot简简单单地导出操作

it2024-10-06  35

1.依赖什么的就不说了 核心观看当然是从查询出list开始到workbook的写入文件为止

@RequestMapping("exportexcel") @ResponseBody public String exportExcel(@ModelAttribute("query") SyCompanyBreedSpecQuery query , HttpServletResponse response , ModelMap model){ return execute(new ControllerCallback<String>() { @Override public String doSuccess() throws Exception { //解除查询数据数量限制 query.setPageSize(Integer.MAX_VALUE - 1); String code = getUcUserInfo().getCpcCode(); query.setCpcCode(code); //使用查询对象查询出相应数据 Page<SyCompanyBreedSpecDto> page = syCompanyBreedSpecService.getCompanyBreedSpecList(query); List<SyCompanyBreedSpecExcel> list = new ArrayList<>(); //遍历查询出来的数据,复制属性到导出的对象中 for (int i = 0; i < page.getRecords().size(); i++) { SyCompanyBreedSpecExcel excelVo = new SyCompanyBreedSpecExcel(); SyCompanyBreedSpecDto dto = page.getRecords().get(i); excelVo.setSn(i + 1); BeanUtils.copyProperties(dto, excelVo); list.add(excelVo); } //创建excel导出对象 ExportParams exportParams = new ExportParams(); exportParams.setSheetName("药材品种品规"); Workbook workbook = ExcelExportUtil.exportExcel(exportParams, SyCompanyBreedSpecExcel.class, list); if (workbook != null) { response.reset(); response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-Disposition", new String(("attachment; filename=企业药材品种品规表.xls").getBytes("UTF-8"), "ISO8859-1")); workbook.write(response.getOutputStream()); } return null; } @Override public String doException(String exType, String message) { model.addAttribute("error", message); return ERROR_PAGE; } }); }
最新回复(0)