注解使用案例
实现效果
代码详情
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;
@Data
public 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;
@Data
public class SysDept {
/** 部门名称 */
private String deptName;
/** 负责人 */
private String leader;
}
测试类
/**
* @Excels设置范例
*/
@Test
public 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());
}