4. java使用easyexcel导入excel |
您所在的位置:网站首页 › excel导入其他表格数据怎么操作出来不一样 › 4. java使用easyexcel导入excel |
文章目录
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模板数据格式、导入结果展示
➸ 模板数据格式 报错信息: 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]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 |