Java 使用Easy Excel 个性化模版导出
单个sheet页、简单个性化导出
导出需要的效果
配置模版
表格里面的name,对应就是UserProfileVo 对象里面 name
代码(用对象)
Controller 用对象
@PostMapping("/export1")
public void export1() {
//获取个人信息数据
UserProfileVo vo = exportService.export1();
//模版位置
String name = "templates" + File.separator + "moban1.xlsx";
InputStream file = Thread.currentThread().getContextClassLoader().getResourceAsStream(name);
//导出需要放哪里
EasyExcel.write("/Downloads/test/vo.xlsx").withTemplate(file).sheet().doFill(vo);
}
Service 用对象
public UserProfileVo export1() {
UserProfileVo vo = new UserProfileVo();
vo.setName("法外狂徒张三");
vo.setGender("男");
vo.setBirthDate(new Date());
vo.setNationType("汉族");
vo.setPolFace("团员");
vo.setHeight(new BigDecimal("192"));
vo.setEduSystem("全日制");
vo.setEduLevel("本科");
vo.setHjAbbr("四川");
vo.setMajorField("计算机科学与技术");
vo.setHealthStatus("健康,没毛病");
vo.setGraduateSchool("XXX大学");
vo.setHomeAddress("四川XXXXXXX");
vo.setPhoneNumber("1234567890");
vo.setEmailAddr("1234567890@qq.com");
return vo;
}
导出效果
代码(用map)
Controller map
@PostMapping("/export2")
public void export2() {
//获取个人信息数据
Map<String, Object> map = exportService.export2();
//模版位置
String name = "templates" + File.separator + "moban1.xlsx";
InputStream file = Thread.currentThread().getContextClassLoader().getResourceAsStream(name);
//导出需要放哪里
EasyExcel.write("/Downloads/test/map.xlsx").withTemplate(file).sheet().doFill(map);
}
Service 用map
public Map<String, Object> export2() {
Map<String, Object> map = new HashMap<>();
map.put("name", "法外狂徒李四");
map.put("gender", "男");
map.put("birthDate", new Date());
map.put("nationType", "汉族");
map.put("polFace", "团员");
map.put("height", new BigDecimal("192"));
map.put("eduSystem", "全日制")