SpringBoot集成EasyExcel的步骤
目录
- 一 、EasyExcel简介
- 二、常用注解
- 三、依赖
- 四、监听
- 五、接口导入Excel
- 六、接口 导出Excel (HttpServletResponse response, HttpServletRequest request)
- 七、本地导入、本地导出
一 、EasyExcel简介 EasyExcel优势
- ? ?注解式自定义操作。
- ? ?输入输出简单,提供输入输出过程的接口
- ? ?支持一定程度的单元格合并等灵活化操作
二、常用注解
- @ExcelProperty 指定当前字段对应excel中的那一列。可以根据名字或者Index去匹配。当然也可以不写,默认第一个字段就是index=0,以此类推。千万注意,要么全部不写,要么全部用index,要么全部用名字去匹配。千万别三个混着用,除非你非常了解源代码中三个混着用怎么去排序的。
- @ExcelIgnore 默认所有字段都会和excel去匹配,加了这个注解会忽略该字段
- @DateTimeFormat 日期转换,用String去接收excel日期格式的数据会调用这个注解。里面的value参照java.text.SimpleDateFormat
- @NumberFormat 数字转换,用String去接收excel数字格式的数据会调用这个注解。里面的value参照java.text.DecimalFormat
- @ExcelIgnoreUnannotated默认不加ExcelProperty 的注解的都会参与读写,加了不会参与
三、依赖
com.alibaba easyexcel2.1.4 javax.servlet javax.servlet-api4.0.1 providedcom.alibaba fastjson1.2.47
四、监听
/** * EasyExcel 导入监听 */public class ExcelListener extends AnalysisEventListener {//可以通过实例获取该值private List
五、接口导入Excel
try {//获取文件名String filename = file.getOriginalFilename(); //获取文件流InputStream inputStream = file.getInputStream(); //实例化实现了AnalysisEventListener接口的类ExcelListener listener = new ExcelListener(); //传入参数ExcelReader excelReader = new ExcelReader(inputStream, ExcelTypeEnum.XLS, null, listener); //读取信息excelReader.read(new Sheet(1, 0, Test.class)); //获取数据Listlist = listener.getDatas(); if (list.size() > 1) {for (int i = 0; i < list.size(); i++) {Testobj = (Test) list.get(i); JSONObject jo = new JSONObject(); }}} catch (Exception e) {System.out.println(e.getMessage()); }
【SpringBoot集成EasyExcel的步骤】
六、接口 导出Excel (HttpServletResponse response, HttpServletRequest request)
try {String filenames = "111111"; String userAgent = request.getHeader("User-Agent"); if (userAgent.contains("MSIE") || userAgent.contains("Trident")) {filenames = URLEncoder.encode(filenames, "UTF-8"); } else {filenames = new String(filenames.getBytes("UTF-8"), "ISO-8859-1"); }response.setContentType("application/vnd.ms-exce"); response.setCharacterEncoding("utf-8"); response.addHeader("Content-Disposition", "filename=" + filenames + ".xlsx"); EasyExcel.write(response.getOutputStream(), Test.class).sheet("sheet").doWrite(testList); } catch (Exception e) {}
七、本地导入、本地导出
ListtestList = new ArrayList<>(); try {String strUrl = "C:\\Users\\Administrator\\Desktop\\json.xlsx"; File multipartFile = new File(strUrl); InputStream inputStream = new FileInputStream(multipartFile); //实例化实现了AnalysisEventListener接口的类ExcelListener listener = new ExcelListener(); //传入参数ExcelReader excelReader = new ExcelReader(inputStream, ExcelTypeEnum.XLS, null, listener); //读取信息excelReader.read(new Sheet(1, 0, Test.class)); //获取数据List list = listener.getDatas(); if (list.size() > 1) {for (int i = 0; i < list.size(); i++) {Testobj = (Test) list.get(i); }}} catch (Exception e) {System.out.println(e.getMessage()); }try {String strUrl = "C:\\Users\\Administrator\\Desktop\\json"+System.currentTimeMillis()+".xlsx"; EasyExcel.write(strUrl,Test.class).sheet("sheet").doWrite(testList); } catch (Exception e) {}
??以上就是EasyExcel的基础使用过程,欢迎点赞关注交流。
以上就是SpringBoot集成EasyExcel的步骤的详细内容,更多关于SpringBoot集成EasyExcel的资料请关注脚本之家其它相关文章!
推荐阅读
- Java开发热门框架【SpringBoot】初学入门教程
- SpringBoot|SpringBoot 自定义注解之脱敏注解详解
- springboot内置tomcat调优并发线程数解析
- 基于Kubernetes/K8S构建Jenkins持续集成平台(下)
- Springboot-Shiro基本使用详情介绍
- SpringBoot启动遇到的异常问题及解决方案
- springboot|springboot 如何添加webapp文件夹
- springboot新建项目pom.xml文件第一行报错的解决
- springboot-curd基于mybatis项目搭建
- 可观测性能力升级,Apache APISIX 集成 OpenTelemetry