#### 2.11 groupname和ExcelEntity的name属性 之前一直没想好,双号表头如何处理数据,直到前几天突然想到了groupname这个属性,下面先介绍下这两个属性解决的问题,也是之前很多朋友问到的问题 ![aaa大](https://static.oschina.net/uploads/img/201710/20112857_np8y.png "在这里输入图片标题") 这种双行的表头,之前只有在集合的模式情况下才会支持,但是很多情况都不是集合模式,也只是一列数据, * 简单的groupname 比如这里的时间算是两个时间的聚合,单也是对象当中的元素而已,我们要导出这样的数据现在只要设置下groupname就可以了 ~~~ @Excel(name = "电话号码", groupName = "联系方式", orderNum = "1") private String clientPhone = null; // 客户姓名 @Excel(name = "姓名") private String clientName = null; // 备注 @Excel(name = "备注") private String remark = null; // 生日 @Excel(name = "出生日期", format = "yyyy-MM-dd", width = 20, groupName = "时间", orderNum = "2") private Date birthday = null; // 创建人 @Excel(name = "创建时间", groupName = "时间", orderNum = "3") private String createBy = null; ~~~ 这样就会把两个groupname合并到一起展示,使用也比较简单 * ExcelEntity 一个对象在一起 假如我们需要一个对象属性统一在一起,name我们需要设置下这个对象的name属性,并且show=true 这两个是 且的关系 比如 ~~~ @Excel(name = "电话号码", groupName = "联系方式", orderNum = "1") private String clientPhone = null; @Excel(name = "姓名") private String clientName = null; @ExcelEntity(name = "学生", show = true) private GnStudentEntity studentEntity; ~~~ 学生对象的内部就是普通的注解 ~~~ @Excel(name = "学生姓名", height = 20, width = 30, orderNum = "2") private String name; @Excel(name = "学生性别", replace = {"男_1", "女_0"}, suffix = "生", orderNum = "3") private int sex; @Excel(name = "出生日期", format = "yyyy-MM-dd", width = 20, orderNum = "4") private Date birthday; @Excel(name = "进校日期", format = "yyyy-MM-dd", orderNum = "5") private Date registrationDate; ~~~ 出来的效果如下 ![输入图片说明](https://static.oschina.net/uploads/img/201710/20113530_FjBG.png "在这里输入图片标题") 使用起来还是很简单的,**导入的话同样设置就可以获取到了** * 排序问题 导出时,表头双行显示,聚合,排序以最小的值参与总体排序再内部排序 导出排序跟定义了annotation的字段的顺序有关 可以使用a\_id,b\_id来确实是否使用 优先弱与 @ExcelEntity 的name和show属性 简单说就是先排外部顺序,再排内部顺序