[alibaba/easyexcel]表头数据是动态的也要合并,使用定义model方式貌似不行,难道只能通过反射来动态修改model上属性的注解值?

2024-05-24 927 views
5

数据结构是确定的,就是数据是动态的,比如工资结构下包括基本工资,效绩工资等,在使用手册中没发现有对应的解决方案还请楼主指点迷津。

回答

7

试试这个

@ExcelProperty(value = {"工资结构", "基本工资"})
private Integer base;
@ExcelProperty(value = {"工资结构", "效绩工资"})
private Integer extend;
3

试试这个

@ExcelProperty(value = {"工资结构", "基本工资"})
private Integer base;
@ExcelProperty(value = {"工资结构", "效绩工资"})
private Integer extend;

工资结构下的项是动态的,比如后来又添加一项购房补贴,难道也要在model实体中再添加一个字段嘛? 我现在考虑通过cglib动态增加属性,但又想到有点麻烦违背了这个项目的初衷了。

7

试试这个

@ExcelProperty(value = {"工资结构", "基本工资"})
private Integer base;
@ExcelProperty(value = {"工资结构", "效绩工资"})
private Integer extend;

工资结构下的项是动态的,比如后来又添加一项购房补贴,难道也要在model实体中再添加一个字段嘛? 我现在考虑通过cglib动态增加属性,但又想到有点麻烦违背了这个项目的初衷了。

如果下面的项不是固定的话,我推荐使用官方demo-动态写入 如果里面逻辑比较复杂的话,推荐换POI或者jxl之类的手动判断

5

试试这个

@ExcelProperty(value = {"工资结构", "基本工资"})
private Integer base;
@ExcelProperty(value = {"工资结构", "效绩工资"})
private Integer extend;

工资结构下的项是动态的,比如后来又添加一项购房补贴,难道也要在model实体中再添加一个字段嘛? 我现在考虑通过cglib动态增加属性,但又想到有点麻烦违背了这个项目的初衷了。

如果下面的项不是固定的话,我推荐使用官方demo-动态写入 如果里面逻辑比较复杂的话,推荐换POI或者jxl之类的手动判断

官方的动态导入好像不支持合并的表头,所以现在easyexcel生成表头不能同时支持动态和合并这两种业务情况了?

0

试试这个

@ExcelProperty(value = {"工资结构", "基本工资"})
private Integer base;
@ExcelProperty(value = {"工资结构", "效绩工资"})
private Integer extend;

工资结构下的项是动态的,比如后来又添加一项购房补贴,难道也要在model实体中再添加一个字段嘛? 我现在考虑通过cglib动态增加属性,但又想到有点麻烦违背了这个项目的初衷了。

如果下面的项不是固定的话,我推荐使用官方demo-动态写入 如果里面逻辑比较复杂的话,推荐换POI或者jxl之类的手动判断

官方的动态导入好像不支持合并的表头,所以现在easyexcel生成表头不能同时支持动态和合并这两种业务情况了?

如果是当做表头的话,也许不支持,但是如果把表头作为数据的话,是有各种方式合并单元格的……

7

要么就是不固定头,要么就是排除对应的index。都有demo.