使用easyexcel快速导出xlsx表格(简洁、高效、易懂)
Easyexcel是一款非常好用的POI框架,是为了让开发者快速的实现excel,word,pdf的导入导出,基于Apache poi基础上的一个工具包。
- 基于注解的导入导出,修改注解就可以修改Excel
- 支持常用的样式自定义
- 基于map可以灵活定义的表头字段
- 支持一对多的导出,导入
- 支持模板的导出,一些常见的标签,自定义标签
- 支持HTML/Excel转换
- 支持word的导出,支持图片,Excel
目 录
一、引入依赖
二、在实体类中添加注解
三、controller层增加导出接口
四、在serviceImpl层编写导出表格方法
五、访问接口,下载表格
一、引入依赖
<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.1</version></dependency>
二、在实体类中添加注解
@Data
@HeadRowHeight(30) //表头行高
@ContentRowHeight(15) //内容行高
@ColumnWidth(18) //列宽
@ContentFontStyle(fontHeightInPoints = (short) 12) //字体大小
@ApiModel(value = "ExportEntity", description = "ExportEntity")
public class ExportEntity {/** id */@ApiModelProperty(value = "id")@ExcelProperty("id")private Long id;/** 名称 */@ApiModelProperty(value = "名称")@ExcelProperty("名称")private String name;/** 年龄 */@ApiModelProperty(value = "年龄")@ExcelProperty("年龄")private Integer age;/** 性别 */@ApiModelProperty(value = "性别")@ExcelIgnoreprivate String sex;
}
默认所有字段都会和excel去匹配,使用@ExcelIgnore注解会忽略该字段。
@ExcelProperty:指定当前字段对应 excel 中的那一列。可以根据名字或者Index去匹配,默认第一个字段就是index=0,以此类推。⚠️要么全部不写,要么全部用index,要么全部用名字去匹配,切勿混合使用。
其他表格样式注解:
@HeadRowHeight(30) 表头行高
@ContentRowHeight(15) //内容行高
@ColumnWidth(18) //列宽
@ContentFontStyle(fontHeightInPoints = (short) 12) //字体大小
三、controller层增加导出接口
@GetMapping("/export")public void Export(HttpServletResponse response) {service.export(response);}
四、在serviceImpl层编写导出表格方法
@Overridepublic void export(HttpServletResponse response) {List<Export> list = new ArrayList<>();for (int i = 1; i <= 3; i++) {Export export = new Export(i,"张三","20");list.add(export);}try {//HttpServletResponse消息头参数设置response.setCharacterEncoding("UTF-8");response.setHeader("Content-Transfer-Encoding", "binary");response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0");response.setHeader("Pragma", "public");response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8");String fileName = "导出列表"+ ".xlsx";fileName = new String(fileName.getBytes(), "ISO-8859-1");response.setHeader("Content-Disposition", "attachment;filename=" + fileName );EasyExcel.write(response.getOutputStream(), Export.class).autoCloseStream(Boolean.FALSE).sheet("导出列表").doWrite(list);} catch (Exception e) {e.printStackTrace();}}
五、访问接口,下载表格
使用easyexcel快速导出xlsx表格(简洁、高效、易懂)相关推荐
- vb用数组方式快速导出MSFlexGrid表格数据到Excel表格中
本来从MSFlexGrid或MSHFlexGrid导出数据到Excel中,是一个非常简单的问题,但论坛里还是经常有人问如何导出,有的虽然知道用单元格赋值方式循环导出,但速度太慢,因此写了一个通用的数据 ...
- vue项目前端导出xlsx表格带边框
最近项目中要求不再通过发送请求导出excel表格了,于是在网上找了找方法,在这记录一下方便以后查阅 一.首先先在项目中安装这几个包 npm install xlsx --save npm instal ...
- POI和EasyExcel导入导出Excel表格
这里写自定义目录标题 EasyExcel操作Excel表格 一.导入依赖: 二.编写实体类 三.编写测试类 POI操作Excel表格 基本功能: 一.导入依赖 二.测试类 2.1 使用HSSFWork ...
- Android使用jxl快速导出Excel表格
公司有个项目是需要把数据导出Excel表格的,最初是使用的poi来导出的,把poi的jar包放进去后出现各种各样的问题,实在麻烦,然后在网上继续找有没有简单的,就找到了jxl,个人感觉操作确实和网上说 ...
- ant jeecg vue 前端通过dom节点 导出xlsx表格
点击导出 : 效果图: 上代码 安装依赖:npm install xlsx@0.17.0 file-saver@2.0.5 --save xlsx要指定版本不然会报错 <template& ...
- 表格导出计算机,电脑怎么导出excel表格数据-如何将百度指数数据导出到Excel表格...
系统没有导出功能,电脑表格里的数据有什么方法拿... 将网页表格数据导入到Excel中的方法: 第一步,将包括所需表格的网页打开,并按CTRL C把网址复制到剪贴板,以备下一步使用. 第二步,打开运行 ...
- latex 的列表和表格环境-快速导入excel表格源文件
latex 的列表和表格环境-快速导出excel表格源文件 列表-1 基本语法 \begin{itemize}\item 列表内容\item 列表内容\item 列表内容 \end{itemiz ...
- vue导出excel表格并支持样式、行高修改xlsxxlsx-style
前言 使用插件xlsx.xlsx-style导出带有样式的表格,两者都可以实现创建excel,但是xlsx免费版仅仅只能做单元格合并,收费版才能设置单元格样式,所以需要用到xlsx-style插件实现 ...
- 基于SpringBoot+EasyExcel+vue3实现excel表格的导入和导出
目录 基于SpringBoot+EasyExcel+vue3实现excel表格的导入和导出 一.导入和导出 二.导出数据为excel实现过程 三.将excel中的数据导入到数据库中 基于SpringB ...
最新文章
- 数据架构简史:转换中的范式
- CentOS6.5Minimal安装Gitlab7.5
- 无法连接到已配置的开发web服务器_你知道多少种服务器?这三种服务器你都认识吗?...
- 硬盘安装RHEL方法
- OpenCV circle函数
- 【手把手带你学nRF52832/nRF52840 · 开发环境搭建】
- java实用教程——组件及事件处理——概述
- 在PHP中对象真的是按引用传递的吗
- osg for android 编译,osgforandroid安装文档.docx
- SpringBoot 的错误处理机制
- QT学习记录:编译错误“no matching function for call toXXX“
- win10系统与时间服务器同步超时,如何解决Win10系统时间无法同步的问题?
- 不要时刻忘记保持微笑
- Pandas 那些年踩过的坑
- html网页怎么自动返回,返回首页html代码?打开某个特定网页时,网页总是自动跳回主页,是怎?...
- C语言版家谱管理系统
- Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.Gener
- Internet History, Technology and Security (Week⑨)
- bash入门脚本(未完善)
- Camera常见术语缩写总结