public HorizontalCellStyleStrategy excelStyle() {// 头的策略WriteCellStyle headWriteCellStyle = new WriteCellStyle();WriteFont headWriteFont = new WriteFont();// 设置字体大小headWriteFont.setFontHeightInPoints((short) 11);// 设置字体名字headWriteFont.setFontName("Calibri");// 在样式用应用设置的字体headWriteCellStyle.setWriteFont(headWriteFont);// 设置自动换行headWriteCellStyle.setWrapped(false);// 设置水平对齐的样式为居中对齐headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);// 设置垂直对齐的样式为居中对齐headWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 内容的策略WriteCellStyle contentWriteCellStyle = new WriteCellStyle();// 字体策略WriteFont contentWriteFont = new WriteFont();// 字体大小contentWriteFont.setFontHeightInPoints((short) 11);// 设置字体名字contentWriteFont.setFontName("Calibri");// 在样式用应用设置的字体contentWriteCellStyle.setWriteFont(contentWriteFont);// 设置自动换行contentWriteCellStyle.setWrapped(false);//设置垂直对齐的样式为居中对齐contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//设置水平对齐的样式为居中对齐contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);return new HorizontalCellStyleStrategy(headWriteCellStyle, contentWriteCellStyle);}
ExcelWriter excelWriter = null;try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {HorizontalCellStyleStrategy styleStrategy = this.excelStyle();excelWriter = EasyExcel.write(out).excelType(ExcelTypeEnum.XLSX).registerWriteHandler(styleStrategy).build();WriteSheet writeSheet = EasyExcel.writerSheet().build();excelWriter.write(dataList, writeSheet);excelWriter.finish();} catch (IOException e) {log.error(e.getMessage(), e);throw new RuntimeException("Export excel failed.", e);} finally {if (excelWriter != null) {excelWriter.finish();}}
@ColumnWidth 设置列宽
@ExcelProperty 设置列头
