Spring Boot + EasyExcel 导入导出,好用到爆,含泪狂刷Java基础面试118题

com.alibaba

fastjson

1.2.47

四、监听

/**

* EasyExcel 导入监听

*/

public class ExcelListener extends AnalysisEventListener {

//可以通过实例获取该值

private List datas = new ArrayList();

@Override

public void invoke(Object o, AnalysisContext analysisContext) {

datas.add(o);//数据存储到list,供批量处理,或后续自己业务逻辑处理。

doSomething(o);//根据自己业务做处理

}

private void doSomething(Object object) {

//1、入库调用接口

}

public List getDatas() {

return datas;

}

public void setDatas(List datas) {

this.datas = datas;

}

@Override

public void doAfterAllAnalysed(AnalysisContext analysisContext) {

// datas.clear();//解析结束销毁不用的资源

}

}

五、接口导入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));

//获取数据

List list = listener.getDatas();

if (list.size() > 1) {

for (int i = 0; i < list.size();

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

i++) {

Testobj = (Test) list.get(i);

JSONObject jo = new JSONObject();

}

}

} catch (Exception e) {

System.out.println(e.getMessage());

}

六、接口导出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) {

}

七、本地导入、本地导出

List testList = 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的基础使用过程,欢迎点赞关注交流。

推荐文章

1、一款高颜值的 SpringBoot+JPA 博客项目

2、超优 Vue+Element+Spring 中后端解决方案

上一篇:【easyExcel】easyExcel自定义单元格


下一篇:EasyExcel读写及填充