使用easyExcel实现浏览器下载Excel。
之前在使用easyExcel的时候发现网上对于easyExcel web下载介绍比较少,所以我想着出个比较简单的文章帮助大家了解 easyExcel的使用。
一、首先我们需要导入pom依赖:
<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.10</version></dependency>
二、创建实体类 DemoData:
@Data
//设置背景色为空白,不使用easyExcel默认灰色背景 (有一说一默认背景是真的丑!)
@HeadStyle(fillPatternType = FillPatternType.NO_FILL, fillForegroundColor = 10)
public class DemoData {@ExcelProperty("字符串标题") //excel表头private String string;@ExcelProperty("日期标题")private Date date;@ExcelProperty("数字标题")private Double doubleData;/*** 忽略这个字段*/@ExcelIgnoreprivate String ignore;
}
注意:我这里是使用了Lombok插件 生成的 set、get 方法,如果没用这个插件,记得要手动写好set、和get、方法哦,因为easyExcel官方文档明确说明 实体类必须要有 get和set方法
三、编写导入工具类
//无填充方式导出并下载xlsxpublic static void downloadUnfilledToXlsx(String excelName, HttpServletResponse response, Class cla, List list) throws IOException {// 这里注意 使用swagger 会导致各种问题,easyexcel官方文档推荐直接用浏览器或者用postman测试response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");response.setCharacterEncoding("utf-8");// 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系String fileName = URLEncoder.encode(excelName, "UTF-8").replaceAll("\\+", "%20");response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");EasyExcel.write(response.getOutputStream(), cla).sheet(excelName).doWrite(list);}
四、为实体类注入数据
这里就简简单单注入些 测试数据
private List<DemoData> data() {List<DemoData> list = new ArrayList<DemoData>();for (int i = 0; i < 10; i++) {DemoData data = new DemoData();data.setString("字符串" + i);data.setDate(new Date());data.setDoubleData(0.56+i);list.add(data);}return list;}
五、编写Controller接口
@RequestMapping("/download")public void download(HttpServletResponse response) throws IOException {EasyExcelUtils.downloadUnfilledToXlsx("easyExcel测试",response,DemoData.class,data());}
六、浏览器测试功能
下载后:
打开后:
总结:原创不易,点个赞哈。
使用easyExcel实现浏览器下载Excel。相关推荐
- 使用easyexcel从浏览器下载excel
添加依赖:得多加 两个依赖不然会报错误(亲身经历) 如果只加easyexcel依赖会报错误,解决:解决org.objectweb.asm.Type 如果继续报错class net.sf.cglib.c ...
- Springboot apache poi 浏览器下载 excel
在日常干活中,经常会遇到后端实现下载文件的需求,将自己实现的步骤记录下来,以便以后查看方便或者帮助更多的同学. springboot POST 接口,支持浏览器下载excel文件,具体实现实现: 1. ...
- 模拟浏览器下载Excel 到本地
文章目录 1. 文件导出 1.1 导出实现方式 1.2 导出实现场景 2. 浏览器导出Excel 2.1 废话 2.2 导出Excel 接口 2.2.1 启动类 2.2.2 导出文件Controlle ...
- JAVA 浏览器下载excel,自定义样式:合并单元格,设置多种背景填充颜色,冻结窗格
添加依赖: <!-- POI --><dependency><groupId>org.apache.poi</groupId><artifactI ...
- 使用 EasyExcel 读取和下载 excel 文件
前言 EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单,节省内存著称,EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中,而是从 ...
- 解决浏览器下载excel文件时显示“文件已损坏”
天天被学校的健康上报三个专业汇总搞得头大,一个班要截一个图,三个专业要十几个截图,一天三次,啊哈哈真是想快点毕业,其实健康系统上面有下载整个excel文件, but,每次点击导出之后,可以下载成功(我 ...
- 解决不同浏览器下载excel文件中文名称乱码问题
楼主多次测试发现,现在的三大主流浏览器(IE,Firefox,Chrome). IE浏览器对文件格式审查最严格,在从网页导出Excel的时候,需要对文件名称指定编码类型(UTF-8) HttpUtil ...
- IE浏览器下载excel文件时不弹出下载保存提示框的解决方法
在IE浏览器中下载文件的时候,下载保存的提示框不弹出了,特意咨询了一下解决的方法,特来和大家分享. 1.打开"我的电脑"后请点击工具列的:"工具 -- 文件夹选项&quo ...
- java:浏览器下载excel模板
1.枚举类 /** * * @return * @author ZHD-xinwei.Fan * @creed: 下载模板枚举类 * @date 2022/10/24 15:07 */public e ...
最新文章
- 小技巧:远程连接共享文件密码错误
- .net微软消息队列(msmq)简单案例
- shiro登录认证过程讲解(转)
- windowsDOS命令
- MOGRE学习(三) Mogre的SceneNode及Entity
- 解压vmlinuz和解压initrd(initramfs)
- 嵌入式从硬件到Linux学习经验汇总-----By知乎
- stm8s103-PWM输出与输入捕获
- 【面试经历】问题总结
- PHP裂变红包源码,php版本微信裂变红包api详解
- 更改计算机网络,终于理会如何更改计算机网络ip
- 太上玄门日诵晚课仙经
- 图像加噪与滤波【C#】
- NSoup Select 示例
- TVS管防护电路的典型应用原理,这些你必须了解
- 直播类APP功能及技术难点
- java桌面通讯录源码_TONGXUNLU JAVA通讯录源码 JAVA课程设计源码 讯友桌面通讯录 通讯录管理 - 下载 - 搜珍网...
- 怎么制作升温曲线图_PCBA制造过程中几种典型的温度曲线
- 计算机网络中常用设备处于脱机状态,你的设备处于脱机状态请使用上次的密码登录...
- mysql 主键 null_当主键碰到NULL
热门文章
- 视频转GIF+GIF录制
- 《余光中诗歌精读》放下代码,静下心来,细细品读
- 高德地图只显示部分区域
- 编译提示“/usr/bin/ld: cannot find -lgflags-shared“错误的解决办法
- C#注册和注销全局快捷键
- Excel模板导出并插入图片
- 裂变是什么?如何让用户自行裂变?流程、细节大曝光
- Linux运维之windows2008R2远程连接问题
- 算法复杂度 O(1),O(n),O(logn),O(nlogn)的区别
- 钢琴 低音到高音 音效_什么是低音扬声器,中音扬声器和高音扬声器?