Administrator
发布于 2024-07-09 / 18 阅读
0
0

2024 新项目开发问题日志记录5

EasyExcel的CellWriteHandler注入CellStyle不生效

问题描述:
有个需求是对数据导出为Excel,用的是阿里的EasyExcel,因为要对某些单元格
根据不同的数值赋予不同的颜色,所以要自定义一个处理器。
处理器的逻辑是没有问题的,debug的时候都能进来,但就是不生效,网上一查找到了一
博客,一发中的

http://t.csdnimg.cn/mULV5


总的原理就是:所有自定义的 `handler` 会加入到一个集合中,然后进行排序清理
之后还会再加入默认的 `writeHandler`, 再排序清理一次,自定义的handler会被
一个`FillStyleCellWriteHandler`覆盖掉

所以要将自定义的handler放在默认的writeHandler之后,
自定义的 `writeHandler` 其实实现了 `Order` 接口,并且在 `Handler` 接口里
设置了默认值是0。而 `FillStyleCellWriteHandler` 的 order 是 50000

解决:实现接口,并返回大于FillStyleCellWriteHandler


@Override
public int order() {
return 50001;
}



评论