一:导出的使用

1.1首先导入需要的easyExcel的jar包

        <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.6</version></dependency>

1.2创建要导出的实体类(不建议在实体类上,建议新建一个导出实体类)

@HeadRowHeight 代表我们excel列头的行高

@ContentRowHeight 代表我们数据的行高

@ColumnWidth 代表我们列的宽度(在类上为全部的列宽,在元素上为该元素的列宽)

@ExcelIgnore 忽略该字段(不会导出该字段)

@ExcelProperty 元素的导出名和位置(value代表导出的列头名,index代表第几列)

@Data
@HeadRowHeight(value = 30) // 头部行高
@ContentRowHeight(value = 25) // 内容行高
@ColumnWidth(value = 20) // 列宽
public class Books {private static final long  serialVersionUID = 1L;@ExcelIgnoreprivate Integer bookId;@ExcelProperty(value = "书名" , index = 1)private String bookName;@ExcelProperty("剩余量")private Integer bookCounts;@ExcelProperty("介绍")@ColumnWidth(value = 25)private String detail;}

1.3导出代码的使用

public void chu(HttpServletResponse response) throws IOException {{ //获取我们要导出表的数据集合List<Books> list = easyExcelMapper.selectBooks();//设置该接口为一个下载接口// 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postmanresponse.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");//设置返回的编码方式response.setCharacterEncoding("utf-8");// 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系//这里是设置我们的导出文件的名字,将 + 替换成  %20(这个%20代表的空格)String fileName = URLEncoder.encode("导出", "UTF-8").replaceAll("\\+", "%20");response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx");//通过easyExcel导出对象,//EasyExcel.write( 获取流 ,实体类对象).sheet(sheet名).dowrite( 我们的集合数据 )asyExcel.write(response.getOutputStream(), Books.class).sheet("模板").doWrite(list);}}

二:导入的使用

2.1首先要先要获取导入的excel模板

直接使用导出的模板

2.2定义简单的监听器

要想使用导入的功能必须要先定义一个监听器类

public class EasyExcelUtilListen<T> extends AnalysisEventListener<T> {private static final Logger LOGGER = LoggerFactory.getLogger(EasyExcelUtilListen.class);private final List<T> rows = new ArrayList<>();@Overridepublic void invoke(T t, AnalysisContext analysisContext) {rows.add(t);}@Overridepublic void doAfterAllAnalysed(AnalysisContext context) {LOGGER.info("解析完成!读取{}行", rows.size());}public List<T> getRows() {return rows;}
}

2.3easyExcel导入功能的实现

    public Boolean ru(MultipartFile file) throws IOException {//使用easyExcel获取到我们excel文件中的数据EasyExcelUtilListen listener = new EasyExcelUtilListen();//EasyExcel.read( 我们的excel文件流 ,实体类对象  ,我们定义的监听器 )EasyExcel.read(file.getInputStream(), Books.class, listener).sheet().doRead();//获取我们使用easyExcel得到的excel中的数据List<Books> booksList = listener.getRows();System.out.println(booksList);//将我们读取到的excel中的数据保存到我们的数据库Boolean aBoolean = easyExcelMapper.addBooksList(booksList);return aBoolean;}

三:easyExcel的复杂用法

暂时用不到,待续

easyExcel的简单使用相关推荐

  1. EasyExcel的简单读取操作

    EasyExcel的简单读取操作 Java领域解析.生成Excel比较有名的框架有Apache poi. jxl等.但他们都存在一个严重的问题就是 非常的耗内存.如果你的系统并发量不大的话可能还行,但 ...

  2. 【java学习】EasyExcel的简单使用

    EasyExcel的简单使用 前言 Excel读 1.实体类 2.读监听器与测试类 3.输出结果 Excel写 1.实体类 2.写入Excel的测试类 3.输出结果 填充Excel 1.Excel模板 ...

  3. 使用java解析和读取excel表格(EasyExcel的简单使用)

    ** 解析excel的工具 ** Apache POI.JXL.Alibaba EasyExcel等.其中Apache POI基于DOM方式进行解析,将文件直接加载内存,所以速度较快,适合Excel文 ...

  4. EasyExcel的简单导出

    EasyExcel的简单导出 Controller层代码 @GetMapping("/download") public void download(String name, Ht ...

  5. EasyExcel的简单使用(easyExcel和poi)

    EasyExcel的简单使用 前言 Excel读 1.实体类 2.读监听器与测试类 3.输出结果 Excel写 1.实体类 2.写入Excel的测试类 3.输出结果 填充Excel 1.Excel模板 ...

  6. easyexcel导入简单封装

    文章目录 1 场景 2 版本 3 maven依赖 4 代码 4.1 数据处理器接口 4.2 工具类 5 使用 5.1 测试代码 5.2 输出内容 1 场景 本文主要对EasyExcel的功能进行简单封 ...

  7. EasyExcel的简单使用记录

    参考此链接框架篇-easyexcel使用 - 简书 一.  读excel 1. 引入依赖 <dependency><groupId>com.alibaba</groupI ...

  8. easyexcel php,使用easyexcel进行简单的表格导入导出功能

    easyexcel只提供一个简单的导出和导入功能,并没有太多的方法进行调用,如果您对PHPExcel非常了解,您也可以引入成功之后直接使用PHPExcel中的方法自己书写规则 easyexcel下载地 ...

  9. EasyExcel的简单使用 读写表格

    EasyExcel的使用 官网:快速开始 · 语雀 (yuque.com) 基于Java的简单.省内存的读写Excel的开源项目.在尽可能节约内存的情况下支持读写百M的Excel. 依赖pom.xml ...

最新文章

  1. 你知道我今天为什么来公司上班吗?
  2. win服务器发展方向是什么?
  3. access vba表字段_Access获取表字段的所有属性信息
  4. laravel上传到七牛图片插件
  5. SequentialSearch 顺序表查找
  6. HTML5超级玛丽简易版(有源码)
  7. 一加8/一加8 Pro外形配置全曝光:就差个价格了
  8. 【Flink】ExceptionInChainedOperatorException: Could not forward element to next operator Buffer
  9. 抽象类,接口,魔术方法
  10. 为什么调试的时候需要编译选项中添加 -g,readelf命令.
  11. mysql挂马_虚拟主机/数据库中挂马清理方法
  12. win10如何让外接显示器成为主显示器,笔记本屏幕成为拓展屏幕
  13. 自我鉴定计算机专业大学,大学生计算机专业的自我鉴定书
  14. Android 9 系统修改内设WLAN热点名称
  15. 男女偷情为了什么   文 / 自然人生
  16. 《萌小甜动图字帖》使用简介
  17. Project2016创建WBS并且进行相关设置
  18. mysql中limit2,1和limit2 offset 1的区别
  19. unity3d实现简单的打飞碟游戏
  20. JavaRIM实现(PRC的其中一种方案)

热门文章

  1. fastapi_No.23_事件_启动和关闭事件
  2. 一个CV算法工程师在技术方面的小反思
  3. lol7月9日服务器维护,LOL7月9日停机维护到几点?LOL云顶之弈国服在哪进?
  4. 如何让服务可用性高达99.9999%?异地灾备是关键!
  5. html5 三目运算符,三目运算符和逗号运算符
  6. 人只能活一次,千万别活得太累!
  7. php 将信息 post 回给 paypal 进行验证出错,paypal升级的几个问题
  8. 【观察】坚持科技创新,天翼云铸牢数字中国关键底座
  9. 工业智能相机的选型指南
  10. VC++之对象含指针成员指向堆空间并调用复制构造函数问题—参考范磊VC++