[alibaba/easyexcel]动态header导致自动列宽失效

2024-05-23 670 views
3

触发场景描述 当存在如下动态header的时候,每一列的列宽默认取title cell的列宽,因为现在是按header的列宽设置data cell的列宽,合并了第一行的header导致后续列宽失效。我认为应该取没有进行过合并的head cell的列宽,而不是默认取一个head cell的列宽。 image

回答

6

请详细提供代码 你是怎么设置列宽的

5

@zhuangjiaju

      EasyExcel.write(response.getOutputStream())
                .head(bean.getHeader())
                .sheet(bean.getName())
                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
                .doWrite(bean.getData());

我看现在的代码是拿第一行head 根据index缓存列宽,如果第一行head做过合并操作,那么缓存起来的列宽将是错误的。

3

这个想实现比较复杂 可以自己基于 LongestMatchColumnWidthStyleStrategy实现