将头部内容用空格代替,切记空格采用1212的形式 例以下 easyExcel 的默认合并方式是经过头部value 值是否相同进行判断的则使用这种方式能够将头部内容变成空的
@Data @ContentRowHeight(17) public class CostReportInfoDto { @ApiModelProperty("1月") @ExcelProperty(index=2,value = " ") private String oneMonth; @ApiModelProperty("2月") @ExcelProperty(index=3,value = " ") private String twoMonth; @ApiModelProperty("3月") @ExcelProperty(index=4,value = " ") private String threeMonth; @ApiModelProperty("4月") @ExcelProperty(index=5,value = " ") private String fourMonth; @ApiModelProperty("5月") @ExcelProperty(index=6,value = " ") private String fiveMonth; @ApiModelProperty("6月") @ExcelProperty(index=7,value = " ") private String sixMonth; @ApiModelProperty("7月") @ExcelProperty(index=8,value = " ") private String sevenMonth; @ApiModelProperty("8月") @ExcelProperty(index=9,value = " ") private String eightMonth; @ApiModelProperty("9月") @ExcelProperty(index=10,value = " ") private String nineMonth; @ApiModelProperty("10月") @ExcelProperty(index=11,value = " ") private String tenMonth; @ApiModelProperty("11月") @ExcelProperty(index=12,value = " ") private String elevenMonth; @ApiModelProperty("12月") @ExcelProperty(index=13,value = " ") private String twelve; @ApiModelProperty("总计") @ExcelProperty(index=14,value = " ") private String total; }
已经给easyExcel github上提出 单元格合并问题了。
java
1 WriteBasicParameter 此类中加入hook 函数 set get 方法记得写 private WriteHandler endHandler = null; 2 ExcelWriterBuilder 此类中加入添加register 方法 public ExcelWriterBuilder registerWriteEndHandler(WriteHandler writeHandler) { writeWorkbook.setEndHandler(writeHandler); return this; } 3 WriteContextImpl 此类构造方法中将endHandler 从WriteBasicParameter 中取出 private WriteHandler endHandler; public WriteContextImpl(WriteWorkbook writeWorkbook) { this.endHandler = writeWorkbook.getEndHandler(); ..... 同时提供get 方法 @Override public WriteHandler getEnd(){ return this.endHandler; } 以及接口中的方法 WriteContext /** * 获取excel绘画结束的后须要执行的hanlder * @return */ WriteHandler getEnd(); 4 ExcelBuilderImpl 中添加 @Override public void addContent(List data, WriteSheet writeSheet, WriteTable writeTable) { try { context.currentSheet(writeSheet); context.currentTable(writeTable); WriteHandler end = context.getEnd(); doAddContent(data); if(null!=end){ ((CellWriteHandler)end).beforeCellCreate(context.writeSheetHolder(),context.writeTableHolder(),null,null,0,false); ((CellWriteHandler)end).afterCellCreate(context.writeSheetHolder(),context.writeTableHolder(),null,null,null,0,false); } } catch (RuntimeException e) { finish(); throw e; } catch (Throwable e) { finish(); throw new ExcelGenerateException(e); } }
拿取我本身写的git