1. public HorizontalCellStyleStrategy excelStyle() {
    2. // 头的策略
    3. WriteCellStyle headWriteCellStyle = new WriteCellStyle();
    4. WriteFont headWriteFont = new WriteFont();
    5. // 设置字体大小
    6. headWriteFont.setFontHeightInPoints((short) 11);
    7. // 设置字体名字
    8. headWriteFont.setFontName("Calibri");
    9. // 在样式用应用设置的字体
    10. headWriteCellStyle.setWriteFont(headWriteFont);
    11. // 设置自动换行
    12. headWriteCellStyle.setWrapped(false);
    13. // 设置水平对齐的样式为居中对齐
    14. headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);
    15. // 设置垂直对齐的样式为居中对齐
    16. headWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
    17. // 内容的策略
    18. WriteCellStyle contentWriteCellStyle = new WriteCellStyle();
    19. // 字体策略
    20. WriteFont contentWriteFont = new WriteFont();
    21. // 字体大小
    22. contentWriteFont.setFontHeightInPoints((short) 11);
    23. // 设置字体名字
    24. contentWriteFont.setFontName("Calibri");
    25. // 在样式用应用设置的字体
    26. contentWriteCellStyle.setWriteFont(contentWriteFont);
    27. // 设置自动换行
    28. contentWriteCellStyle.setWrapped(false);
    29. //设置垂直对齐的样式为居中对齐
    30. contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
    31. //设置水平对齐的样式为居中对齐
    32. contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);
    33. return new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);
    34. }
    1. ExcelWriter excelWriter = null;
    2. try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {
    3. HorizontalCellStyleStrategy styleStrategy = this.excelStyle();
    4. excelWriter = EasyExcel.write(out)
    5. .excelType(ExcelTypeEnum.XLSX)
    6. .registerWriteHandler(styleStrategy)
    7. .build();
    8. WriteSheet writeSheet = EasyExcel.writerSheet().build();
    9. excelWriter.write(dataList, writeSheet);
    10. excelWriter.finish();
    11. } catch (IOException e) {
    12. log.error(e.getMessage(), e);
    13. throw new RuntimeException("Export excel failed.", e);
    14. } finally {
    15. if (excelWriter != null) {
    16. excelWriter.finish();
    17. }
    18. }

    @ColumnWidth 设置列宽
    @ExcelProperty 设置列头