注解介绍
@Excels 不可单独使用,@Excels的使用均依赖于注解@Excel, 解耦合可进行读取Model的属性,作为单元格表格属性
注解使用案例
实现效果
代码详情
Model基本类
package cn.zzhardy.utils.poi.test.example;import cn.zzhardy.annotation.Excel;import cn.zzhardy.annotation.Excel.FunctionType;import cn.zzhardy.annotation.Excels;import lombok.Data;@Datapublic class SysUser {@Excel(name = "登录名称", sort = 1)private String userName;@Excel(name = "用户名称", sort = 2)private String nickName;@Excels({@Excel(name = "部门名称", sort = 3, targetAttr = "deptName", type = FunctionType.EXPORT),@Excel(name = "部门负责人", sort = 4, horizontalMergeNum = 3, targetAttr = "leader", type = FunctionType.EXPORT, titleBackground = "217,225,242")})private SysDept dept;}
import lombok.Data;@Datapublic class SysDept {/** 部门名称 */private String deptName;/** 负责人 */private String leader;}
测试类
/*** @Excels设置范例*/@Testpublic void createMoreExcels() {List<SysUser> list = new ArrayList<>();SysUser sysUser = new SysUser();SysDept sysDept = new SysDept();sysDept.setDeptName("测试部门");sysDept.setLeader("测试部门领导");sysUser.setDept(sysDept);sysUser.setNickName("n昵称");sysUser.setUserName("dsds");list.add(sysUser);list.add(sysUser);list.add(sysUser);list.add(sysUser);list.add(sysUser);ExcelCenter<SysUser> util = new ExcelCenter<>(SysUser.class);AjaxResult form = util.exportExcel(list, "form");System.out.println(form.toString());}
