SpringBoot+easypoi实现数据的Excel导出
更新时间:2021年05月20日 17:13:54 作者:进击的_菜鸡
这篇文章主要为大家详细介绍了SpringBoot+easypoi实现数据的Excel导出,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了SpringBoot+easypoi实现数据的Excel导出的具体代码,供大家参考,具体内容如下
maven
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-spring-boot-starter</artifactId>
<version>4.1.0</version>
</dependency>
Controller层
// 接口不需要返回值
@RequestMapping(value = "/export-activity-data")
public void exportActivityData(@RequestParam String activityType,
@RequestParam String activityState,
@RequestParam String queryValue,
@RequestParam String levelValue,
@RequestParam String startTime,
@RequestParam String endTime, HttpServletResponse response) {
try {
manageService.exportActivityData(TFActivityQueryParam.builder()
.activityState(activityState)
.activityType(activityType)
.queryValue(queryValue)
.levelValue(levelValue)
.startTime("".equals(endTime) ? null : new Date(DateTime.parse(startTime).getMillis()))
.endTime("".equals(endTime) ? null : new Date(DateTime.parse(endTime).getMillis())).build(), response);
} catch (IOException e) {
log.info( "导出失败", e);
}
}
service层
public void exportActivityData(TFActivityQueryParam param, HttpServletResponse response) throws IOException {
response.setCharacterEncoding("UTF-8");
response.setHeader("content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition",
"attachment;filename=" + URLEncoder.encode("活动综合数据.xls", "UTF-8"));
val out = response.getOutputStream();
List<TFActivityQueryResult> tfActivityList = getTFActivityList(param);
List<TFActivityQueryResultExportDto> exportDtoList = new ArrayList<>();
tfActivityList.forEach(activity -> {
TFActivityQueryResultExportDto convert = TFActivityQueryResultExportDto.convert(activity);
if (activity.getLevelType().equals("0")) {
convert.setAffiliation("云南省");
} else {
EparchyCode eparchyCode = getEparchyCodeList().stream()
.filter(code -> code.getEparchyCode().equals(activity.getEparchyCode()))
.collect(Collectors.toList()).get(0);
convert.setAffiliation(eparchyCode.getEparchyShortName());
}
exportDtoList.add(convert);
});
Workbook workbook = ExcelExportUtil.exportExcel(
new ExportParams("活动综合数据", "活动"), TFActivityQueryResultExportDto.class, exportDtoList);
log.info("workbook: {}", workbook);
workbook.write(out);
out.close();
}
数据bean
public class TFActivityQueryResultExportDto {
@Excel(name = "活动编码", width = 20)
private String activityCode;
@Excel(name = "活动名称", width = 20)
private String activityName;
@Excel(name = "活动标题", width = 20)
private String activityTitle;
@Excel(name = "归属", width = 20)
private String affiliation;
@Excel(name = "活动类型", width = 20)
private String activityType;
@Excel(name = "活动时间", width = 30)
private String activityTime;
@Excel(name = "活动状态", width = 20)
private String activityState;
@Excel(name = "备注", width = 30)
private String remark;
@Excel(name = "创建时间", width = 30)
private String timeCreate;
@Excel(name = "最新操作人", width = 30)
private String operatorName;
@Excel(name = "更新时间", width = 30)
private String timeUpdate;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Java实战之实现一个好用的MybatisPlus代码生成器
这篇文章主要介绍了Java实战之实现一个好用的MybatisPlus代码生成器,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下2021-04-04
浅谈Java异常的Exception e中的egetMessage()和toString()方法的区别
下面小编就为大家带来一篇浅谈Java异常的Exception e中的egetMessage()和toString()方法的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-07-07
Spring Boot监听Redis Key失效事件实现定时任务的示例
这篇文章主要介绍了Spring Boot监听Redis Key失效事件实现定时任务的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-04-04
java 与testng利用XML做数据源的数据驱动示例详解
这篇文章主要介绍了java 与testng利用XML做数据源的数据驱动示例详解的相关资料,需要的朋友可以参考下2017-01-01


最新评论