4. java使用easyexcel导入excel

您所在的位置:网站首页 excel导入其他表格数据怎么操作出来不一样 4. java使用easyexcel导入excel

4. java使用easyexcel导入excel

2024-07-12 02:33| 来源: 网络整理| 查看: 265

文章目录 1.EXCEL模板数据格式、导入结果展示2.避坑防雷招待所[♥]2.1.与poi-Jar包文件版本冲突2.2.传入后台读取文件流报空指针 3.在线获取代码及模板3.1.Github获取3.2.CSDN下载 4.手把手操作慢放4.1.准备开发环境4.2.启动IDEA,新建项目[File->New->Project]4.3.点击Maven后,选择Project SDK[JDK版本],点击Next4.4.填写好项目名称-包名-版本信息后,点击Finish4.5.项目目录结构及文件介绍4.6.配置Maven依赖4.6.1.复制下面代码块中的依赖配置,粘贴到pom.xml中4.6.2.粘贴后,可对比参考下图中pom.xml配置依赖项 4.7.[src\main\java]目录下文件内容说明4.7.1.com\ts\demo\listener\FirstHeaderRowListener.java4.7.2.com\ts\demo\listener\SecondHeaderRowListener.java4.7.3.com\ts\demo\po\FirstHeaderPo.java4.7.4.com\ts\demo\po\SecondHeaderPo.java4.7.5.com\ts\demo\po\ImportDtataPo.java 4.8.[src\main\resources]目录下文件内容说明4.8.1.log4j.properties 4.9.[src\test\java\]目录下文件内容说明4.9.1.com\ts\demo\EasyexcelMultiHeaderTest.java 5.修改测试demo中模板的读取路径6.右键运行测试7.表演完毕,欢迎下次光临

1.EXCEL模板数据格式、导入结果展示

➸ 模板数据格式 在这里插入图片描述 ➸ 导入结果 在这里插入图片描述

2.避坑防雷招待所[♥] 2.1.与poi-Jar包文件版本冲突

报错信息:

com.alibaba.excel.exception.ExcelAnalysisException: java.lang.NoSuchMethodError: org.apache.poi.util.POILogger.log(ILjava/lang/Object;Ljava/lang/Throwable;)V

解决方案: 在pom.xml文件中找到 标签所引的依赖中,是否包含appach的poi-jar包,可通过通过按住鼠标,【Ctrl+左键】进入存在嫌疑的依赖文件中,查看是否有引入,如果有则使用标签,将重复的与easyexcel内冲突的或版本相同的过滤掉即可。如下:

xx.xx xx-xx-starter org.apache.poi poi-ooxml xx.xx.xx xx-xx 2.2.传入后台读取文件流报空指针

   当demo整合到web项目传入文件时,不能用变量接住文件流,不然后续读取的流对象始终是同一个,再次读取则是空指针。因为多个sheet页会循环读取,每读取一个sheet页,会自动将数据映射到实体类,我们需要再深克隆到实体对象中,再清空本次读取的数据,避免下次读取数据出现重复数据,然后再继续获取下一个sheet页的数据,就不会报空指针。

3.在线获取代码及模板 3.1.Github获取

  Sorry,网址爆炸,暂无法登录上传 ‘’-_-‘’

3.2.CSDN下载 文件名操作Easyexcel-批量导入模板-Sheet页内有多个标题行.xlsx下载Java使用Easyexcel批量导入多行表头的Demo.rar下载 4.手把手操作慢放 4.1.准备开发环境 开发工具IDEA_2020.3JDK版本1.8.0_60Maven版本apache-maven-3.6.0Maven仓库地址http://maven.aliyun.com/nexus/content/groups/public/ 4.2.启动IDEA,新建项目[File->New->Project]

在这里插入图片描述

4.3.点击Maven后,选择Project SDK[JDK版本],点击Next

在这里插入图片描述

4.4.填写好项目名称-包名-版本信息后,点击Finish

在这里插入图片描述

4.5.项目目录结构及文件介绍

在这里插入图片描述

4.6.配置Maven依赖 4.6.1.复制下面代码块中的依赖配置,粘贴到pom.xml中 8 8 1.7.25 com.alibaba easyexcel 2.2.0-beta2 org.slf4j slf4j-log4j12 ${slf4j.log4j.version} compile junit junit 4.12 test 4.6.2.粘贴后,可对比参考下图中pom.xml配置依赖项

在这里插入图片描述

4.7.[src\main\java]目录下文件内容说明 4.7.1.com\ts\demo\listener\FirstHeaderRowListener.java

  easyexcel的监听事件-读取sheet页第1个标题行内容。

package com.ts.demo.listener; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.alibaba.excel.exception.ExcelDataConvertException; import com.ts.demo.po.FirstHeaderPo; import org.apache.log4j.Logger; import java.util.ArrayList; import java.util.List; import java.util.Map; /** *

Title: 监听读取第1个标题行内容

* *

Description: 监听读取第1个标题行内容

* *

Copyright: Copyright bn(c) 2021

* *

Company: XX科技公司

* * @author tansir * @version 1.0 */ public class FirstHeaderRowListener extends AnalysisEventListener { /** * 日志 */ private Logger log = Logger.getLogger(FirstHeaderRowListener.class); /** * 行索引(多行表头) */ private static Integer rowIndex = 0; /** * 导入的障碍物数据 */ private static List list = new ArrayList(); /** * 每读一行内容都会调用invoke,在invoke中可以操作读取到的数据 * @param data 解析的数据 * @param context 解析的上下文对象 */ @Override public void invoke(FirstHeaderPo data, AnalysisContext context) { if(rowIndex


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3