java通过模板导出到Excel

依赖


依赖,该项目是gradle管理依赖,需要maven的可以去maven仓库找一下对应的依赖

implementation 'com.alibaba:easyexcel:2.2.10'

控制层

    @Operation(summary = "导出excel")@GetMapping("/export")public void exportExcel(@RequestParam String startTime, @RequestParam String endTime, HttpServletResponse response) {userDownloadStatisticsService.exportExcel(startTime, endTime, response);}

业务层

public void exportExcel(String startTime, String endTime, HttpServletResponse response) {//查询需要导出的数据LambdaQueryWrapper<UserDownloadStatistics> wrapper = new LambdaQueryWrapper<>();wrapper.between(UserDownloadStatistics::getDownloadTime, startTime, endTime);wrapper.orderBy(true, true, UserDownloadStatistics::getDownloadTime);List<UserDownloadStatistics> statisticsList = list(wrapper);//封装成导出模板List<UserStatisticsExcel> excelList = new ArrayList<>();statisticsList.forEach(date -> excelList.add(new UserStatisticsExcel(date.getDayDownloadNum(), date.getDownloadTime().toString())));String fileName = startTime + "~" + endTime + ".新增注册用户数.xlsx";//设置要下载的文件的名称ClassPathResource classPathResource = new ClassPathResource("/template/新增注册用户数.xlsx");InputStream inputStream = classPathResource.getStream();try {ServletOutputStream out = response.getOutputStream();//设置文件类型response.setContentType("application/vnd.ms-excel;charset=UTF-8");//设置编码格式response.setCharacterEncoding("utf-8");response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8") + ".xlsx");//创建excelExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).withTemplate(inputStream).build();// 创建sheetWriteSheet writeSheet = EasyExcel.writerSheet(0).build();FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();excelWriter.fill(excelList, fillConfig, writeSheet);//填充完成excelWriter.finish();out.flush();} catch (IOException e) {e.printStackTrace();}}

模板位置


在这里插入图片描述

模板样式


在这里插入图片描述
这个只是简单的模板导出,上手即用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/424395.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

得帆云X锦江酒店(中国区),iPaaS是传统ESB升级的最佳方案

锦江酒店&#xff08;中国区&#xff09;是锦江国际集团“深耕国内、全球布局、跨国经营”全球品牌战略的重要布局&#xff0c;旗下酒店品牌覆盖多元市场&#xff0c;致力于为消费者提供高品质和多样化的出行体验。 锦江酒店&#xff08;中国区&#xff09;目前旗下有维也纳国…

Mapbox加载浙江省天地图服务和数据处理

1. 加载影像服务 通过浙江省天地图官网申请所需服务&#xff0c;使用token获取服务数据 由于浙江省天地图使用的坐标系是 cgcs2000&#xff0c;需要使用 的框架对应为 cgcs2000/mapbox-gl&#xff0c;通过cdn引入或npm下载 影像服务地址为&#xff1a; ‘https://ditu.zjzw…

vulhub之Zabbix篇

CVE-2016-10134--SQL注入 一、漏洞介绍 zabbix是一款服务器监控软件&#xff0c;其由server、agent、web等模块组成&#xff0c;其中web模块由PHP编写&#xff0c;用来显示数据库中的结果。 漏洞环境 在vulhub靶场进行复现&#xff0c;启动zabbix 3.0.3。 二、复现步骤 1…

使用DockerFile构建镜像与镜像上传

目录 前言&#xff1a;为什么要使用Dockerfile &#xff1f; DockerFile构建镜像 1、构建基础对象 2、Dockerfile文件结构 3、构建Dockerfile文件镜像 二、镜像上传&#xff08;阿里云&#xff09; 前言&#xff1a;为什么要使用Dockerfile &#xff1f; 首先Dockerfile …

C#,字符串匹配(模式搜索)有限自动机(Finite Automata)算法的源代码

一、有限状态自动机 图中两个圆圈&#xff0c;也叫节点&#xff0c;用于表示状态&#xff0c;从图中可以看成&#xff0c;它有两个状态&#xff0c;分别叫0和1。从每个节点出发&#xff0c;都会有若干条边。当处于某个状态时&#xff0c;如果输入的字符跟该节点出发的某条边的内…

基于SpringBoot的教务管理系统设计与实现(源码+调试)

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于SpringBoot的教务管…

中华恐龙园贺春首播嗨爆全场,蓝海创意云开启文旅直播营销新篇章

2024年1月18日&#xff0c;常州中华恐龙园“双龙贺春”虚拟直播活动正式上线&#xff0c;活动累计交易金额&#xff08;GMV&#xff09;超500万&#xff0c;成交订单数达11000个&#xff0c;累计曝光量超300万&#xff0c;迅速占据团购带货全国周榜榜首。本次直播&#xff0c;中…

分布式一致性算法---Raft初探

读Raft论文也有一段时间了&#xff0c;但是自己总是以目前并没有完全掌握为由拖着这篇博客。今天先以目前的理解程度&#xff08;做了6.824的lab2A和lab2B&#xff09;对这篇论文做一个初步总结&#xff0c;之后有了更深入的理解之后再进行迭代&#xff0c;关于本文有任何疑问欢…

嵌入式条码二维码读码引擎安装注意事项

一、静电保护 &#xff1a; 帕德盾条码二维码扫描设备均已设计了对静电的防护&#xff0c;并使用了防静电包装&#xff0c;但在拆封和使用过程中仍需注意防静电措施&#xff0c;如使用接地腕带和工作区域接地等措施。 二、防尘防污&#xff1a; 帕德盾嵌入式引擎在保存及使用过…

SpringBoot 自定义Filter 提前返回 CORS 错误 处理前后端分离跨域配置无效问题解析

前言 浏览器有跨域限制&#xff0c;非同源策略 (协议、主机名或端口不同) 被视为跨域请求&#xff0c;解决跨域有跨域资源共享(CORS)、反向代理和 JSONP的方式。本篇通过 SpringBoot 的资源共享配置 (CORS) 来解决前后端分离项目的跨域&#xff0c;以及从原理上去解决跨域配置…

使用Python自动化操作手机,自动执行常见任务,例如滑动手势、呼叫、发送短信等等

使用Python自动化操作手机,自动执行常见任务,例如滑动手势、呼叫、发送短信等等。 此自动化脚本将帮助你使用 Python 中的 Android 调试桥 (ADB) 自动化你的智能手机。下面我将展示如何自动执行常见任务,例如滑动手势、呼叫、发送短信等等。 您可以了解有关 ADB 的更多信息,…

采用企业应用开发平台实现提质增效!

当前&#xff0c;为了实现提质增效的办公目的&#xff0c;有不少企业都倾向于使用低代码技术平台&#xff0c;企业应用开发平台就是大家常用的软件平台&#xff0c;由于具有效率高、简便灵活、可视化设计等诸多优势特点&#xff0c;因而在业务量上涨的现代化职场办公中&#xf…