easyexcel icon indicating copy to clipboard operation
easyexcel copied to clipboard

同sheet写入多个table,分别为table设置header并设置relativeHeadRowIndex属性后,第一个表头与content之间出现偏移

Open Ramelon opened this issue 1 year ago • 1 comments

问题复现图如下: 1705543306982

第一个writeTable0 设置了relativeHeadRowIndex(2)后第一个表头上下都会出现浮动。 后面的writeTable正常显示 代码如下:

    WriteTable writeTable0 = EasyExcel.writerTable(1)
            .head(head(MediaTypeEnum.BROADCAST.getType()))
            .registerWriteHandler(new SimpleColumnWidthStyleStrategy(20))
            .registerWriteHandler(new CustomSheetWriteHandler(title,analysisContent))
            .useDefaultStyle(true).relativeHeadRowIndex(2)
            .needHead(Boolean.TRUE).build();

    WriteTable writeTable1 = EasyExcel.writerTable(2)
            .head(head(MediaTypeEnum.TELEVISION.getType()))
            .relativeHeadRowIndex(1)
            .needHead(Boolean.TRUE).build();

    WriteTable writeTable2 = EasyExcel.writerTable(3)
            .head(head(MediaTypeEnum.BLUE_MEDIA.getType()))
            .needHead(Boolean.TRUE)
            .relativeHeadRowIndex(1)
            .build();

    WriteTable writeTable3 = EasyExcel.writerTable(4)
            .head(head(MediaTypeEnum.LEARN_POWER_COUNTRY.getType()))
            .relativeHeadRowIndex(1)
            .needHead(Boolean.TRUE).build();

    WriteTable writeTable4 = EasyExcel.writerTable(5)
            .head(head(MediaTypeEnum.NEWSPAPER.getType()))
            .relativeHeadRowIndex(1)
            .needHead(Boolean.TRUE)
            .build();

    ExcelWriter excelWriter = EasyExcel.write(fileName).build();
    WriteSheet sheet = EasyExcel.writerSheet(0, "报表数据").build();

    excelWriter.write(getTableDataLists(broadcastList), sheet, writeTable0);
    excelWriter.write(getTableDataLists(televisionList), sheet, writeTable1);
    excelWriter.write(getTableDataLists(excludeLearn), sheet, writeTable2);
    excelWriter.write(getTableDataLists(containLearn), sheet, writeTable3);
    excelWriter.write(getTableDataLists(newsPaperList), sheet, writeTable4);
    //完成
    excelWriter.finish();

Ramelon avatar Jan 18 '24 02:01 Ramelon

望解决,直接看这个bug已经有人提过了但不知道为什么没人解决

Ramelon avatar Jan 18 '24 02:01 Ramelon