开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
ExcelUtil首页、文档和下载 - Excel 便捷读取工具 - 开源中国社区
全部项目分类
GPL
Java
跨平台
素剑步青尘
分享
收藏
426 人收藏
收录时间:2017-06-07
ExcelUtil 详细介绍

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

使用场景:

可以想一下我们现在有个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
ExcelUtil

选择将代码托管在码云
你还在等什么

可能是中国最大最好的代码托管平台


大家对 ExcelUtil 的评论 (全部 27 条评论)
{{repayCom.userName}}
中丸子
不错,懒人福利啊
2119905726
调用代码简洁明了,再也不用写那么多繁琐的代码了
马丁的早晨
数据检验有做吗?
开源中国首席BOSS
大多数软件用起来复杂,并不真正的了解需求,所谓的作者一味的吹嘘自己的软件实现了很多功能,然而80%都不是我们需要的,最主要的是用起来超级复杂,就自己能用吧,楼主的软件用起来简洁,用20%的代码解决了常用的80%的问题,32个赞!!!
素剑步青尘
@阿信sxq xls 和 xlsx是调用POI的不同的方法的,之所以都在是想让大家下载源码能直接运行,关键是ExcelUtil这个类,其他的不重要
@周更新 这个如果不是有人故意搞的话,这样是没有问题的,除非是有人故意把03的Excel版本后缀改成07的或者07的故意改成03的,但是这样似乎意义不是很大
ExcelUtil 相关博客
顶部