Java导入导出Excel工具  easyexcel

做Java开发的同学,尤其是做管理后台的同学绝大多数都会接触到报表系统,这时候就少不了Excel的导入和导出了。Java解析生成Excel比较有名的有Apache POI ,但是POI存在缺陷就是所有的数据的解析都是在内存中进行的,内存消耗极大,如果数据量稍微一大容易出现内存溢出。alibaba提供的easyexcel就很好的解决了这个问题,不但不会出现内存溢出而且使用也极其方便,下面就一起来简单学习一下吧。

引入依赖包

在maven仓库中搜索 easyexcel 找到 alibaba的easyexcel依赖包,复制添加到pom文件中

1.简单写操作

1.1写入到指定文件夹

创建需要写出的数据模型 DemoData.class

贴上@ExcelProperty注解表示该字段需要导出到excel中去,value 的值表示该字段导出到excel中的所在列的列名。@ExcelIgnore注解表示忽略该字段,该字段将不会被导出到Excel中去。

上图是创建需要导出的示例数据和最终导出excel的代码,excel文件将被写入到 “C:/write/write.xlsx” 路径下。你没有看错真的核心导出代码只有两句就够了。

上图就是导出的Excel效果图,是不是比POI简单多了呢?

1.2 web中的写

所有的要导出的数据都在response中的outputStream流中,前端通过解析这个流就可以到处Excel文件,由于本人水平有限前端不够熟悉故而只给出后端Java代码。

2.简单读操作

2.1指定导入文件的读

说完了导出再来说说导入吧,导入比导出稍微复杂一点。导入有一个重要的概念叫做监听器。下图就是创建了一个监听器。但是需要强调的一点是 DemoDataListener 不能被spring管理,要每次读取excel都要new,然后里面用到spring可以用构造方法传进去。

这里简单的saveData方法中就没有写存入数据库的业务,我们主要看的是有没有成功读入数据这里将读入的数据全部打印在控制台。

由控制台的打印输出可以看出,每读入3条数据也就是达到了自定义的BATCH_COUNT值就调用了一次saveData方法。最后一次只有一条数据是当所有的数据解析完之后最后调用了saveData方法。

2.2web中的读

此时读入的数据全部在listener中进行解析,然后调用业务方法将读入的数据进行存库就和之前讲的是一样的操作了,这里也只给出Java代码。

好了这就是easyexcel的初步简单用法,如有错误和不足之处请各位大佬不吝赐教!

java导入导出excel_Java导入导出Excel工具 easyexcel相关推荐

  1. 阿里巴巴 Excel工具easyExcel 导出 - 动态列扩展。

    阿里巴巴 Excel工具easyExcel 导出 最近有个需要要求既要动态列扩展.又要列和数据对应.最重要的是一定要通用,满足当前项目的需求 无实体兼容实体对象动态列扩展. 1.实体类 import ...

  2. 阿里出品Excel工具EasyExcel使用小结

    前提 笔者做小数据和「零号提数工具人」已经有一段时间,服务的对象是运营和商务的大佬,一般要求导出的数据是Excel文件,考虑到初创团队机器资源十分有限的前提下,选用了阿里出品的Excel工具EasyE ...

  3. java对象转excel_Java对象和Excel转换工具XXL-EXCEL

    一.简介 概述 XXL-EXCEL 是一个灵活的Java对象和Excel文档相互转换的工具. 一行代码完成Java对象和Excel之间的转换. 特性1.Excel导出:支持Java对象装换为Excel ...

  4. java解析excel的工具_Java 解析 Excel 工具 easyexcel

    软件介绍 easyexcel -- JAVA 解析 Excel 工具 Java 解析.生成 Excel 比较有名的框架有 Apache poi.jxl .但他们都存在一个严重的问题就是非常的耗内存,p ...

  5. Java解析excel工具easyexcel 助你快速简单避免OOM

    原文链接:http://www.itsleuth.cn/post/javatool-001-easyexcel/ Java解析.生成Excel比较有名的框架有Apache poi.jxl.但他们都存在 ...

  6. 推荐轻量级Excel工具easyexcel

    easyexcel能够原本一个3M的excel用POI sax依然需要100M左右内存降低到几M,并且再大的excel不会出现内存溢出. 写excel: package com.alibaba.eas ...

  7. oracle导出数据词典到excel工具,OracleToExcel

    OracleToExcel是一款可以将Oracle中的数据导出到excel中的工具,它支持单个表.所有表和SQL查询数据,支持输出clob和blob字段在Oracle数据库管理中比较常用,支持批量导出 ...

  8. java解析excel工具EasyExcel使用详情

    EasyExcel 1 EasyExcel的集成 1.1 引入依赖 1.2 模型映射 1.3 读Excel 1.4 写Excel 1.5 web上传.下载 2 自定义多Sheet页下载 2.1 工具类 ...

  9. java重命名excel_Java重命名Excel工作表并设置工作表及标签颜色

    码农公社  210.net.cn  210是何含义?10月24日是程序员节,1024 =210.210既 210 之意. 一份Excel文档中通常包含多个内容不同的工作表,而他们的默认名都为Sheet ...

最新文章

  1. Oxford Nanopore碱基识别(basecalling)软件性能大比拼
  2. maven 下载包冲突问题
  3. java web 初始化方法_Java Web(二) 类的初始化及初始化顺序
  4. Pyqt5 获取命令行参数sys.argv
  5. POJ - 3279 Fliptile(状态压缩+位运算+暴力)
  6. win下配置nginx
  7. cfd软件对电脑配置要求_这种网格划分策略,让洁净和空调CFD实施周期压缩至0.3倍...
  8. 顺丰业绩突然爆雷:预计巨亏9-11亿!京东、美团等10家平台承诺不用大数据杀熟;苹果推迟MacBook和iPad生产|极客头条...
  9. 嵌入式linux调试dsi,做嵌入式开发时,你是怎么实现LCD显示的?
  10. Set的5种遍历方式
  11. 在AD中安装元件和封装库
  12. Android 开源项目分类汇总(转)
  13. 微信浏览器与企业微信浏览器ua
  14. 人类的智能是如何产生的
  15. 没有寻线仪怎么找网线_不使用寻找仪怎么快速找六类网线,这个是什么原因呢?...
  16. 系统工程--011详细设计 伪码 程序流程图 PAD图 N-S图 判断表和判断树
  17. Mybatis插入语句
  18. java导出的excel数字过长_用POI导出excel时,较长的数字不想被自动变为科学计数法的解决方式(转)...
  19. Android实现计时器(Handle+Runable)
  20. Python中ASCII转十六进制、C中BCD转十进制、十六进制学习记录

热门文章

  1. asp.net core添加全局异常处理及log4net、Nlog应用
  2. 使用 Roslyn 编译器服务
  3. powershell 常用命令笔记
  4. React Native之didFocus和didBlur
  5. java.lang.IllegalStateException: attempt to re-open an already-closed object
  6. Android之事件总线EventBus详解
  7. 找不到libmmd.dll无法继续执行代码_300 行代码带你秒懂 Java 多线程!| 原力计划...
  8. ftp服务器客户端修改密码,如何在客户端修改FTP密码
  9. 清华教授转述:读博6年未毕业被认定为自控力不够,或将影响个人贷款额度
  10. 要男女朋友有什么用?