SpringBoot+easypoi实现数据的Excel导出
作者:进击的_菜鸡 发布时间:2023-04-05 12:27:19
标签: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;
}
来源:https://blog.csdn.net/weixin_40325475/article/details/102567163


猜你喜欢
- 1.加入jackson的jar包2.在响应的方法上加上@ResponseBody:把java对象转化为json对象3.方法的返回值可以是对象
- 在Android中,在非主线程中更新UI控件是不安全的,app在运行时会直接Crash,所以当我们需要在非主线程中更新UI控件,那么就需要用
- 上一篇我们说了Android中的tween动画,这一篇我们说说frame动画,frame动画主要是实现了一种类似于gif动画的效果,就是多张
- 守护线程在Java中有两类线程User Thread(用户线程)Daemon Thread(守护线程)守护线程的功能非常简单,在其本身是一个
- 最近做了一个MyEclipse项目,但是没开始多久就发现了这个问题:只要文件被修改过,不论多小的修改,保存的时候都会跳出一个框框,里面写着t
- 本文实例为大家分享了SpringBoot集成kaptcha验证码的具体代码,供大家参考,具体内容如下1.kaptcha相关介绍Kaptcha
- 我们在安装某个APP的时候,基本都会有一个引导页的提示,他们可以打广告,或者介绍新功能的加入和使用说明等。一般都支持滑动并且下面有几个点,显
- java并发之ArrayBlockingQueue详细介绍 ArrayBlockingQueue是常用的线程集合,在线程池中也常常
- 背景在实际开发过程中,会遇到需要编写各类打印模板模板的需求,当然这些在WPF开发中更为常见,但是使用XAML写编辑的打印模板又不能直接发送给
- 写在自定义之前我们也许会遇到,自定义控件的触屏事件处理,先来了解一下View类中的,onTouch事件和onTouchEvent事件。1、b
- 学习在于记录,把自己不懂得容易忘记得记录下,才是最好得选择。废话不多说,想要在Android开发中嵌入c/c++代码,直接开始如下步骤1、创
- 记录Java执行groovy脚本的两种方式,简单粗暴:一种是通过脚本引擎ScriptEngine提供的eval(String)方法执行脚本内
- 之前讲到了自定义Adapter传递给ListView时,因为ListView的View回收,需要注意当ListView列表项中包含有带有状态
- 本文实例讲述了C#禁用双击窗体图标关闭窗体的方法。分享给大家供大家参考。具体实现方法如下:[DllImport("user32.d
- Toast是一种简易的消息提示框,它无法获取焦点,按设置的时间来显示完以后会自动消失,一般用于帮助或提示。先给大家分享下我的解决思路:不用计
- 本文实例讲述了Java实现特定范围的完数输出算法。分享给大家供大家参考,具体如下:题目内容:一个正整数的因子是所有可以整除它的正整数。而一个
- 本篇给大家详细讲解了MTKAndroid平台开发流程,大致分为44个步骤,我们把每个步骤的命令详细讲解了下,一起来学习下。1.拷贝代码仓库从
- 项目里一直用的是 spring-security ,不得不说,spring-security 真是东西太多了,学习难度太大(可能我比较菜),
- 1.强引用( Strong Reference )最普遍的引用:Object obj=new Object()抛出OutOfMemoryEr
- 本次为了记录开发一个基于webservice接口,去解析对方传送过来的xml字符串。实际使用时遇到的一些问题。传输过来的xml格式大致如下: