ExcelUtil 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
ExcelUtil 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
ExcelUtil 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
ExcelUtil 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
ExcelUtil 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

ExcelUtil 借助反射和 POI 对 Excel 读取,省略了以往读取 Excel 的繁琐步骤,调用 ExcelUtil 只需要2步,对,你没有看错,2步足以读取到 Excel 的内容。自动赋值,传入对应Model所在路径,即可自动赋值.自动匹配数据类型String,Int,Long,Date,Double等,精准定位报错信息.

【温馨提示】任何个人和公司使用完全免费,禁止任何组织和个人修改后二次发布。

以下情况使用收费:

1.公开声明996的公司,每年收取年费9960元

2.有定制需求的组织或个人,视情况收取100-10000元。

使用场景:

可以想一下我们现在有个Excel导入任务,比如是导入一个班级的学生花名册,比如学生这个实体类是Student.java 一般的导入是需要每行每列对Excel进行遍历,然后给Student的各个属性进行赋值,然后如果碰到Teacher.java需要导入,难道还要在写一遍遍历?代码又臭又长不说,而且代码冗余很多,现在借助ExcelUtil这个公共类,可以实现优雅,容易的读取.兼容03,07版Excel.大家项目中直接引入maven就可以了.

一、导入调用步骤:

1.本地方式读取

String keyValue ="手机名称:phoneName,颜色:color,售价:price"; 
List list=ExcelUtil.readXls("C://test.xlsx",ExcelUtil.getMap(keyValue),"com.lkx.model.PhoneModel")

2.流方式读取

String keyValue ="手机名称:phoneName,颜色:color,售价:price,时间:sj"; 
Listlist = ExcelUtil.readXls(file.getBytes(), ExcelUtil.getMap(keyValue), "com.lkx.model.PhoneModel");

二、导出调用步骤

1.模拟导出到磁盘位置

List list = new ArrayList();//假装这是一个有数据的集合
String keyValue ="手机名称:phoneName,颜色:color,售价:price"; 
ExcelUtil.exportExcel("d:/testsss.xls",keyValue,list,"com.lkx.model.PhoneModel");

2.在浏览器中直接输出

List list = new ArrayList();//还是假装这是一个有数据的集合
String keyValue ="手机名称:phoneName,颜色:color,售价:price"; 
ExcelUtil.exportExcelOutputStream(response,keyValue,list,"com.lkx.model.PhoneModel","fileName");

其中fileName参数可以省略,省略会以当前时间的年月日时分秒作为文件名称。

这里的response需要调用类传进来,一般是controller(HttpServletResponse response)。

POM引入

    net.oschina.likaixuan    excelutil    2.0.1
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (58)

加载中
推荐一个功能丰富、兼容性好、高性能的 Excel 文档基础库 Excelize: https://github.com/xuri/excelize
2020/11/14 17:09
回复
举报
朋友,你这个用不了啊。报错java.lang.ClassNotFoundException: org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument$Factory 还需要自己额外引包么?
2020/07/27 17:26
回复
举报
素剑步青尘软件作者
不需要,进群
2020/08/12 13:08
回复
举报
建议增加单元格属性设置,例如宽度、高度、颜色等
2020/06/16 09:37
回复
举报
素剑步青尘软件作者
可以考虑
2020/06/17 08:42
回复
举报
这个和easyexcel比较有什么优势?
2020/06/10 13:55
回复
举报
素剑步青尘软件作者
1分钟上手那种
2020/06/10 15:52
回复
举报
做过性能测试吗?支持多大数据量的导入导出?
2020/06/10 13:49
回复
举报
素剑步青尘软件作者
目前百万级没有什么问题
2020/06/10 15:52
回复
举报
我已经改造了一版,智能识别表头是否匹配 keyValue 的拓展,表头字段可随意出现其他非导入列,或者缺失表头字段。
2020/04/15 13:50
回复
举报
素剑步青尘软件作者
现在就是默认可以不匹配,不打注解字段即可,可以任意出现非导入列
2020/04/15 14:22
回复
举报
建议加入插入边框和单元格加入颜色
2020/04/02 11:24
回复
举报
大量数据怎样导出
2020/04/01 16:51
回复
举报
素剑步青尘软件作者
一样的导出,50w大概用时6s左右
2020/04/15 13:30
回复
举报
不错哟.建议加上类型转换,比如灵活的日期的转换(你的日期好像是固定转换),比如金额的装换等..
2019/12/10 10:32
回复
举报
素剑步青尘软件作者
嗯,安排下个版本
2019/12/19 09:43
回复
举报
我用的3.0.1版本,上边的示例是错误的,第三个参数不是字符串。要定义class
2019/09/27 15:13
回复
举报
素剑步青尘软件作者
上面的实例是针对2.x版本,3.x版请到Excelutil官网查看文档 http://likaixuan.top/excelUtil
2019/10/31 11:08
回复
举报
更多评论
2020/06/09 18:42

ExcelUtil 3.1.2 发布,新增水印导出功能

你还在写大量的Excel导入导出代码? ExcelUtil一行代码搞定导入导出哦! 更多示例见官网哦,2.x不建议观看,直接看3.x版本哦 【官网文档】http://www.likaixuan.top/excelUtil/doc/v3 【本次更新内容如下】 1.新增水印。 话不多说,先看效果图, 对于大多数程序员来说,吭哧百度白天,水印倒是添加上去了,居然是假水印,[偷笑],所谓加水印就是生成图片贴在Exel上,这种水印实在不敢恭维 有区别于市面上好多贴图在Excel上面的假水...

14
80
2020/05/18 08:52

ExcelUtil 3.1.0 发布,新增模板导出功能

更新内容如下: 1.新增模板导出。 【说明】现在很多工具类,为了设计为工具,其本身有学习成本在里面,ExcelUtil作为一个工具类,其一开始就为了开发者能够迅速上手 ,所以我们的一贯宗旨就是极简的代码上手,对入门者来说十分简单就能使用。 更多用法请参见官网: http://www.likaixuan.top/excelUtil/doc/v3 以下用例都是3.x用法: //浏览器中直接下载 /**  * * 参数说明:1.response 没什么好说的 2.模板地址 3...

5
33
2020/05/05 09:12

ExcelUtil 3.0.5 发布,修复若干bug

更新内容如下: 1.修复导出int,float,double,Date 类型的字段,在读取时候发生异常的问题 2.新增表头,合并第一行为表头(和导出文件名称保持一致) 用法如下: //浏览器中直接下载 //导出不带表头,文件名称用当前时间,年月日时分秒命名 @GetMapping(value = "/export") public void testExport(HttpServletResponse response) throws Exception{ List<PhoneModel> list = new ArrayList<>();    PhoneModel ...

4
30
2020/04/07 22:13

ExcelUtil 3.0.3 发布,极大提高写入速度,导出 50w 数据只需 6s

更新内容如下: 1.poi 版本从4.0.1升级到4.1.2 2.Date类型字段值输出Excel不再是格林威治时间,默认为yyyy-MM-dd HH🇲🇲ss 3.升级到3.0.3版本 4.默认不在强制属性和表头字段必须一致 5.xssf 更换为sxssf 极大提高导出速度。导出速度极大提升,强烈建议升级到该版本。 强烈建议升级到该版本! 强烈建议升级到该版本! 强烈建议升级到该版本! 引入pom <!-- https://mvnrepository.com/artifact/net.oschina.likaixuan/excelu...

6
95
2019/07/15 09:40

ExcelUtil 3.0.1 发布,新增注解读取

3.0.1版本发布了!!! 2.x升级到3.x就知道有大事情了 更新内容如下: 1.针对大家提出的之前的入参要传递类路径问题,从3.x版本改为传class; 2.重构代码,优化实现。 3.新增注解读取功能,从以前的2行代码搞定Excel到现在的一行代码搞定。代码量省了50%呢,哈哈哈哈。。。。 引入pom <!-- https://mvnrepository.com/artifact/net.oschina.likaixuan/excelutil --> <dependency>     <groupId>net.oschina.likaixua...

13
34
2019/07/06 15:48

ExcelUtil 2.0.3 发布,Excel 超便捷读写工具

2.0.3版本发布了!!! 更新内容如下: 1.针对大家提出的,xls最大行数是65536行,所以导出现在默认用了xlsx格式,最大行数1048576。 2.读取之前限制最大读取6w行,修改为限制为50w行。 3.优化部分代码实现,效率更高。 针对大家提问比较多的效率问题。 数据量 读取(用时ms) 写入(用时ms) 1w 641ms 1448ms 2w 986ms 2257ms 5w 1490ms 3133ms 10w 2340ms 5439ms 引入pom <!-- https://mvnrepository.com/artifact/net.oschina....

12
80
2019/01/02 10:28

Excel 超便捷读写工具 ExcelUtil 2.0.2发布

2.0.2版本发布了!!! 更新内容如下: 1.优化在Excel中,数字类型被解析成String类型的问题。 2.引入最新POI4.0.1版,替换之前3.8版。 3.优化部分代码实现,更替为4.0.1中的方法实现,效率更高。 引入pom <!-- https://mvnrepository.com/artifact/net.oschina.likaixuan/excelutil --> <dependency>     <groupId>net.oschina.likaixuan</groupId>     <artifactId>excelutil</artifactId>     <version>2....

9
64
2018/07/11 08:20

Excel 便捷读取工具 ExcelUtil 2.0.1 新增流导入功能

重大版本更新提示!!!2.0.1版本发布了!!! 从ExcelUtil1.0发布,自发布起,人民群众对于流导入的呼声就从来没有停止过。 就在昨天我们决定对流导入做支持。昨天2.0.1版本已经发布到maven中央仓库。 不管是之前文件、还是现在的流导入,我们都希望在简简单单的2步就搞定,任何操作复杂的工具类都是耍流氓。 流导入使用demo. @RequestMapping("/test") @ResponseBody public List testImport(MultipartFile file) throw...

15
70
2018/07/05 08:38

ExcelUtil 1.5.6 修复导出的一些 bug,并大幅减少引入 jar

ExcelUtil1.5.6 发布了,同志们,修复了导出时的一些 bug。 原因如下,在导出时由于表头会占用一行,所以下标是从1开始的,导致数据最终输出到 Excel 中其实会少一行,很多人并没有注意到这个细节。 所幸的是,我们及时发现并修复了此 bug。 是不是很机智。 每次升级都采用平滑升级,保证以前版本方法可在新版本中调用。 并且在该版本中删除了很多没用 jar 包,比如 <dependency>     <groupId>org.springframework.boot</...

3
21
2018/06/26 20:30

ExcelUtil 1.5.5 发布,修复导出属性为空报空指针异常的 bug

ExcelUtil 1.5.5 已发布。 首先本次版本的发布要感谢@superYue ,感谢@superYue在使用工具的时候发现bug.好让我有机会修复。 相信随着大家的参与,ExcelUtil将越来越成熟,bug将越来越少,将会是大家做Excel导入导出的利器。 ExcelUtil 借助反射和 POI 对 Excel 读取,省略了以往读取 Excel 的繁琐步骤,调用 ExcelUtil 只需要2步,对,你没有看错,2步足以读取到 Excel 的内容.兼容 03/07 版 Excel。 <!-- 引入ExcelUtil -->...

2
8
2018/06/09 07:53

ExcelUtil 1.5.4 发布,新增参数类,读取指定 Sheet 功能

ExcelUtil 1.5.4 已发布。 ExcelUtil 借助反射和 POI 对 Excel 读取,省略了以往读取 Excel 的繁琐步骤,调用 ExcelUtil 只需要2步,对,你没有看错,2步足以读取到 Excel 的内容.兼容 03/07 版 Excel。 <!-- 引入ExcelUtil --> <dependency>     <groupId>net.oschina.likaixuan</groupId>     <artifactId>excelutil</artifactId>     <version>1.5.4</version> </dependency> 调用步骤:    1.定义需要...

15
30
2018/06/07 21:42

ExcelUtil 1.5.3 发布,新增流导出支持直接输出到浏览器中,就是这么勤劳。

ExcelUtil 借助反射和 POI 对 Excel 读取,省略了以往读取 Excel 的繁琐步骤,调用 ExcelUtil 只需要2步,对,你没有看错,2步足以读取到 Excel 的内容。自动赋值,传入对应Model所在路径,即可自动赋值.自动匹配数据类型String,Int,Long,Date,Double等,精准定位报错信息. 使用场景: 可以想一下我们现在有个Excel导入任务,比如是导入一个班级的学生花名册,比如学生这个实体类是Student.java 一般的导入是需要每行每列对Excel进行遍...

5
71
2018/06/07 07:55

ExcelUtil 1.5.2 发布,新增导出功能,优化时间导入 bug

ExcelUtil 借助反射和 POI 对 Excel 读取,省略了以往读取 Excel 的繁琐步骤,调用 ExcelUtil 只需要2步,对,你没有看错,2步足以读取到 Excel 的内容。自动赋值,传入对应Model所在路径,即可自动赋值.自动匹配数据类型String,Int,Long,Date,Double等,精准定位报错信息. 使用场景: 可以想一下我们现在有个Excel导入任务,比如是导入一个班级的学生花名册,比如学生这个实体类是Student.java 一般的导入是需要每行每列对Excel进行遍...

5
43
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2018/10/23 13:36

你的ExcelUtil简单、高效、易扩展吗

你的ExcelUtil简单、高效、易扩展吗 Author: Dorae Date: 2018年10月23日12:30:15 转载请注明出处 一、背景 最近接到了和Excel导出相关的需求,但是: 项目中的excelutil工具类会存在安全问题,而且无法扩展; 一些开源的Excel工具太过重量级,并且不不能完全适合业务定制; 于是乎产生了easyExcel(巧合,和阿里的easeExcel重名了😀)。 HSS、XSS 如果数据量较小的话,这种方式并不会存在问题,但是当数据量比较大时,存在非...

0
0
发表于服务端专区
2017/05/22 13:34

基于 POI 封装 ExcelUtil 精简的 Excel 导入导出

![poi](http://poi.apache.org/images/poweredby-poi-logo.png "poi") # 注 本文是使用 org.apache.poi 进行一次简单的封装,适用于大部分 excel 导入导出功能。过程中可能会用到反射,如若有对于性能有极致强迫症的同学,看看就好。 # 序 由于 poi 本身只是针对于 excel 等office软件的一个工具包,在一些常规的 excel 导入导出时,还需要再做一次精简的封装,简化代码耦合。 ## 一、现状 本人经历过几家公司的代码封装,导入导...

22
417
发表了博客
2019/02/24 23:05

【原创】POI操作Excel导入导出工具类ExcelUtil

关于本类线程安全性的解释: 多数工具方法不涉及共享变量问题,至于添加合并单元格方法addMergeArea,使用ThreadLocal变量存储合并数据,ThreadLocal内部借用Thread.ThreadLocalMap以当前ThreadLocal为key进行存储,设置一次变量,则其他线程也会有上次数据的残留,因此在addMergeArea方法中进行清空的操作。为了保证原子性, 采用ReentrantLock确保一次只有一个线程可以进行添加合并数据的操作。 线程安全性从以上两个方面保证。...

0
1
发表了博客
2019/07/30 13:57

Java导入导出Excel工具类ExcelUtil

导出就是将List转化为Excel(listToExcel) 导入就是将Excel转化为List(excelToList) 导入导出中会出现各种各样的问题,比如:数据源为空、有重复行等,我自定义了一个ExcelException异常类,用来处理这些问题。 异常类 导出工具类:   public Map<String,Object> exportMessageExcelFile(String title, String[] headers,List dossierList, OutputStream out, String pattern) { boolean flag = true; ...

0
0
发表了博客
2018/06/06 15:38

java 全自动生成Excel之ExcelUtil篇(上一篇的升级版 [针对实体类对象的遍历赋值])

看了上一篇随笔之后可以对本篇有更好的了解! 使用的poi的jar包依然是上一篇的poi-3.17.jar.... import pojo.UserPojo(上一篇里有,这里就不粘贴了!) 不废话了,直接上菜。。。 1 package util; 2 3 import java.io.File; 4 import java.io.FileNotFoundException; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 import java.lang.reflect.Field; 8 import java.text.Simpl...

0
0
发表了博客
2019/03/20 10:37

jar包中使用freemarker导出excel 解决路径问题

修改ExcelUtil导出方式为流加载而不是通过文件加载.下面贴出ExcelUtil代码 Configuration config = new Configuration(); InputStream is = null; File previewFile = null; Reader reader = null; try { config.setObjectWrapper(new DefaultObjectWrapper()); config.setDefaultEncoding("utf-8"); is = getClass(...

0
0
发表于开发技能专区
2019/11/09 15:40

崛起于Springboot2.X + ExcelUtil200秒解决导入导出(56)

《SpringBoot2.X心法总纲》 使用ExcelUtil快速实现对文件的导入导出系列。 1、pom文件 <dependency> <groupId>net.oschina.likaixuan</groupId> <artifactId>excelutil</artifactId> <version>3.0.1</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> 2、实体类 @Data @NoArgsConstruc...

4
5
发表了博客
2019/11/21 16:32

Java POI读取Excel数据到实体类

1、引入依赖 在pom.xml文件中添加POI相关依赖: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.14</version> </dependency> 注:此处使用的3.14版本,如果使用4以上版本可能会不兼容。 2、ExcelUtil工具类 1 package com.pa...

0
0
发表了博客
2019/06/09 10:34

Java:Excel文件上传至后台

之前的项目中有遇到上传Excel文件的需求,简单说就是解析一个固定格式的Excel表格,然后存到数据库对应的表中,表格如下: 项目采用SSM架构,mvc模式,显而易见,这个Excel表需要拆成两个表,分别存入数据库中,这种表会解析,那其他的应该就难不倒我们了。我自己写的java后台的相关解析代码如下。 注意Excel文件中每个单元格的格式要准确,否则可能解析错误,如果有更加简洁的方案,欢迎大家在留言评论区,相互学习,共同进步!...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
58 评论
540 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部