项目中有用到easypoi来进行excel导出。
有时候我们会遇到导出的内容会出现一对多的关系。
比如1教师-n学生。
想要导出这种关系有两种方式:
一、
使用其ExcelModel。已学生信息为主,每个学生的ExcelModel中都有教师的信息。这样一个List就可以了。
但是这样导出来的数据不是特别好看。
在Excel中就会是如下效果:
但是我们希望能够进行单元格的合并。将左边相同的信息合并起来,这样就需要第二种方式。
二、
可以使用easypoi中的@ExcelCollection 注解和注解中的needMerge = true属性来设置。
首先我们创建一个教师的ExcelModel实体。
其中教师id字段和教师名称字段在其@Excel注解中增加needMerge = true属性,表示该字段可以被合并。
然后我们再创建一个学生的ExcelModel实体。
其中有对应的学生信息要求的字段。
最后一步,我们需要在教师的ExcelModel中再创建一个属性,该属性是学生对象的List集合。并对该属性使用@ExcelCollection注解,不需要加needMerge = true。
这样就可以变成如下:
是不是好看了许多。
好了,问题已解决。