网易首页 > 网易号 > 正文 申请入驻

SpringMVC 5.0.4集成easyexcel读取excel文档

0
分享至

SpringMVC 5.0.4集成easyexcel读取excel文档

来源:http://www.bj9420.com

编者: wRitchie(吴理琪)

Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。Easyexcel重写了poi对07版Excel的解析,能够原本一个3M的excel用POI sax依然需要100M左右内存降低到KB级别,并且再大的excel不会出现内存溢出,03版依赖POI的sax模式。在上层做了模型转换的封装,让使用者更加简单方便。Easyexcel的Github地址:https://github.com/alibaba/easyexcel。

EasyExcel优势

· 注解式自定义操作。

· 输入输出简单,提供输入输出过程的接口

· 支持一定程度的单元格合并等灵活化操作

EasyExcel劣势

· 框架不成熟,1.1.0版本后提供灵活接口的只剩beta版本

· 依然存在一些bug

· 没有一套完整的api

第一步:pom.xml添加依赖,引入jar包:

easyexcel版本声明

版本依赖:

第二步:POJO对象编写:

Student.java实体对象继承BaseRowModel,编写如下:

package com.bj9420.model;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.metadata.BaseRowModel;
/**
* @Title: Student.java
* @Description: 学生用户POJO
* @author: wRitchie
* @date: 2019/5/6 14:44
* @version: V1.0
* @Copyright (c): 2019 http://bj9420.comm All rights reserved.
*/
public class Student extends BaseRowModel {
@ExcelProperty(value = "学籍编号", index = 0)
private String loginName;
@ExcelProperty(value = "姓名", index = 1)
private String realName;
@ExcelProperty(value = "性别", index = 2)
private String sex;
@ExcelProperty(value = "家长手机号", index = 3)
private String phoneNumber;
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
@Override
public String toString() {
return "Student{" +
"loginName='" + loginName + '\'' +
", realName='" + realName + '\'' +
", sex='" + sex + '\'' +
", phoneNumber='" + phoneNumber + '\'' +
'}';
}
}
第三步:编写监听器,实现对导入的excel文档的处理,示例如下:
package com.bj9420.excel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.bj9420.constants.SystemConstant;
import com.bj9420.model.Result;
import com.bj9420.model.User;
import com.bj9420.service.user.IUserService;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @Title: ExcelListener.java
* @Description: Excel Excel监听器
* @author: wRitchie
* @date: 2019/5/6 14:55
* @version: V1.0
* @Copyright (c): 2019 http://bj9420.com All rights reserved.
*/
public class ExcelListener extends AnalysisEventListener {
private IUserService userService;
private User sessionUser;
/**
* @Author: wRitchie
* @Description: ExcelListener 构造函数,从控制类传要调用的服务类
* @Param: [userService, sessionUser]
* @return:
* @Date: 2019/5/7 15:11
*/
public ExcelListener(IUserService userService,User sessionUser) {
super();
this.userService = userService;
this.sessionUser = sessionUser;
}
/** 自定义用于暂时存储datas,可以通过实例获取该值*/
private List datas = new ArrayList();
/**将处理结果返回给控制类*/
private Result


特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
5架战机秒变15架?中国六代机歼-40横空出世,老美态度变了!

5架战机秒变15架?中国六代机歼-40横空出世,老美态度变了!

灰鸽观察室
2024-11-19 16:46:41
谢天谢地谢文能!核桃一战封神 王大雷获最低分 人民日报犀利点评

谢天谢地谢文能!核桃一战封神 王大雷获最低分 人民日报犀利点评

刀锋体育
2024-11-20 09:07:42
怪不得说雷军是北京的现金王,人家造车是真的,只是欠了一屁股车

怪不得说雷军是北京的现金王,人家造车是真的,只是欠了一屁股车

滑稽斑马呀
2024-11-20 11:33:50
金鸡影后李庚希背景大揭秘:父亲是徐静蕾同学,母亲与张兰是闺蜜

金鸡影后李庚希背景大揭秘:父亲是徐静蕾同学,母亲与张兰是闺蜜

七阿姨爱八卦
2024-11-19 16:53:27
台湾上校称:台湾可以主动和平回归,大陆必然要答应2个条件

台湾上校称:台湾可以主动和平回归,大陆必然要答应2个条件

现代小青青慕慕
2024-11-17 04:42:48
当孩子不尊重你和你顶嘴、叛逆时千万别管,和他说这四句话就够了

当孩子不尊重你和你顶嘴、叛逆时千万别管,和他说这四句话就够了

萨提亚实用心理学
2024-11-18 15:50:02
华为余承东:尊界8天后正式亮相!疑似图片曝光,够惊艳吗?

华为余承东:尊界8天后正式亮相!疑似图片曝光,够惊艳吗?

网上车市
2024-11-19 05:17:32
纪实:退伍军人摆摊刺死城管被判死刑,律师的三连问,让法官改判

纪实:退伍军人摆摊刺死城管被判死刑,律师的三连问,让法官改判

五元讲堂
2024-10-30 12:29:40
自己废物老公是大神什么体验?真的破防了!

自己废物老公是大神什么体验?真的破防了!

滑稽斑马呀
2024-11-09 10:11:24
知情人再曝猛料:云朵大闹刀郎伯父灵堂不是解约,是为了歌曲版权

知情人再曝猛料:云朵大闹刀郎伯父灵堂不是解约,是为了歌曲版权

娱乐的小灶
2024-11-20 14:03:35
18强赛乱套了!巴林2-2澳大利亚,国足凌晨2点战沙特,抢分有戏

18强赛乱套了!巴林2-2澳大利亚,国足凌晨2点战沙特,抢分有戏

万花筒体育球球
2024-11-20 05:40:18
两岸统一或许越来越近了,最近国防部对台军,突然改了一个称呼!

两岸统一或许越来越近了,最近国防部对台军,突然改了一个称呼!

肖兹探秘说
2024-11-18 21:50:28
十四届全国政协党组巡视工作领导小组第三次会议在京召开 石泰峰主持并讲话 胡春华王东峰出席

十四届全国政协党组巡视工作领导小组第三次会议在京召开 石泰峰主持并讲话 胡春华王东峰出席

人民政协网
2024-11-20 09:19:46
纳达尔退役感言:更希望被人们记住自己是来自马略卡岛小村庄的好人

纳达尔退役感言:更希望被人们记住自己是来自马略卡岛小村庄的好人

懂球帝
2024-11-20 09:27:52
中国代表当场回击

中国代表当场回击

环球时报新闻
2024-11-20 00:27:54
陈道明:如果一个人熬到没有人联系你,没有饭局邀约,没有所谓的社交,那么恭喜你

陈道明:如果一个人熬到没有人联系你,没有饭局邀约,没有所谓的社交,那么恭喜你

我是娱有理
2024-11-03 06:32:03
日本东京沦落为“性交易之都”,中国男性远征买春

日本东京沦落为“性交易之都”,中国男性远征买春

互联网大观
2024-11-19 14:00:36
未来靠你们!国足本场首发9人年龄30岁以下,3名球员不高于23岁

未来靠你们!国足本场首发9人年龄30岁以下,3名球员不高于23岁

直播吧
2024-11-19 22:57:27
拜堂时新郎不满妻子长相逃跑了,新娘一脸委屈,网友:女子挺面善

拜堂时新郎不满妻子长相逃跑了,新娘一脸委屈,网友:女子挺面善

梅子的小情绪
2024-11-12 22:18:36
华为Mate70系列发布在即 京东华为官微花式“秀恩爱”再次求货

华为Mate70系列发布在即 京东华为官微花式“秀恩爱”再次求货

中国财富网
2024-11-19 17:48:06
2024-11-20 15:23:00
wRitchie
wRitchie
IT实用技术应用、JAVA
11文章数 12关注度
往期回顾 全部

科技要闻

星舰第六次试飞,飞船成功溅落印度洋

头条要闻

男孩玩滑板被倒车装载机碾压身亡 涉事司机暂被控制

头条要闻

男孩玩滑板被倒车装载机碾压身亡 涉事司机暂被控制

体育要闻

结束最后一舞,纳达尔职业生涯落幕

娱乐要闻

一夜被骂三万次!李庚希拿下影后

财经要闻

专家称我国还缺1亿套保障房

汽车要闻

后排够大 智能化提升 全新探岳L是你的菜么?

态度原创

亲子
房产
家居
旅游
艺术

亲子要闻

小宝想要包子,爸爸递给小宝后瞬间变脸。网友:戏精小宝宝。

房产要闻

热度飙升!主城区销冠红盘上新,海口楼市格局又将大变!

家居要闻

以家为本 以爱为家

旅游要闻

埃及金字塔,“金字塔犬”成热门景点

艺术要闻

故宫珍藏的墨迹《十七帖》,比拓本更精良,这才是地道的魏晋写法

无障碍浏览 进入关怀版