EasyExcel导出excel设置标题,边框,单元格宽度,内容自动换行,自适应行高

  /**
     * 导出Excel
     *
     * @return
     */
    @ApiOperation("导出Excel")
    @PostMapping("/test")
    public void test(HttpServletRequest request, HttpServletResponse response) throws IOException {
        List<ExcelExportEntity> entitys = new ArrayList<>();
        Map<String, Object> dataMap = new HashMap<>();
        //列名称-检查日期
        ExcelExportEntity excelExportEntity = new ExcelExportEntity("检查日期", "checkDate", 20);
        //设置自动换行
        excelExportEntity.setWrap(true);
        entitys.add(excelExportEntity);
        dataMap.put("checkDate", "例:" + DateUtil.dateNow("yyyy-MM-dd"));
        //列名称-检查单位
        ExcelExportEntity excelExportEntity1 = new ExcelExportEntity("检查单位", "checkOrgName", 20);
        excelExportEntity1.setWrap(true);
        entitys.add(excelExportEntity1);
        dataMap.put("checkOrgName", "例:555555555588888888888888888888777777777777777777778888888888888888888");
        //列名称-检查单位
        ExcelExportEntity excelExportEntity2 = new ExcelExportEntity("检查单位1", "checkOrgName1", 20);
        excelExportEntity1.setWrap(true);
        entitys.add(excelExportEntity1);
        dataMap.put("checkOrgName1", "例:555555555588888888888888888888777777777777777777778888888888888888888");
        //列名称-检查单位
        ExcelExportEntity excelExportEntity3 = new ExcelExportEntity("检查单位2", "checkOrgName2", 20);
        excelExportEntity1.setWrap(true);
        entitys.add(excelExportEntity1);
        dataMap.put("checkOrgName2", "例:555555555588888888888888888888777777777777777777778888888888888888888");

        List<Map<String, Object>> list = new ArrayList<>();
        list.add(dataMap);

        //设置标题,sheet名称,excel类型
        ExportParams exportParams = new ExportParams("安全生产隐患排查治理、整改、销号清单(XXXX.XX.XX)", "隐患排查治理整改销号模板", ExcelType.XSSF);
        //设置单元格边框
        exportParams.setStyle(ExcelStyleType.BORDER.getClazz());
        try {
            @Cleanup Workbook workbook = new HSSFWorkbook();
            if (entitys.size() > 0) {
                int dataSize = list.size();
                if (list.size() == 0) {
                    list.add(new HashMap<>());
                }
                workbook = ExcelExportUtil.exportExcel(exportParams, entitys, list);
                Sheet sheet = workbook.getSheetAt(0);
                //设置自动换行
                for (int i = 0, len = dataSize + 2; i < len; i++) {
                    sheet.getRow(i).setHeight((short) -1);
                }
            }

            String fileName = "隐患排查治理整改销号模板" + DateUtil.dateNow("yyyyMMddHHmmss") + ".xlsx";
            response.setCharacterEncoding(com.baomidou.mybatisplus.core.toolkit.Constants.UTF_8);
            response.setHeader("content-Type", "application/vnd.ms-excel");
            response.setHeader("Content-Disposition",
                    "attachment;filename=" + URLEncoder.encode(fileName, Constants.UTF_8));
            @Cleanup ServletOutputStream outputStream = response.getOutputStream();
            workbook.write(outputStream);
        } catch (Exception e) {
            log.error("模板信息导出Excel错误:{}", e.getMessage());
            e.printStackTrace();
        }
    }

 

posted @ 2025-10-28 09:09  黄进广寒  阅读(56)  评论(0)    收藏  举报