我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java easyExcel的多级表头怎么导入

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java easyExcel的多级表头怎么导入

这篇文章主要介绍了Java easyExcel的多级表头怎么导入的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java easyExcel的多级表头怎么导入文章都会有所收获,下面我们一起来看看吧。

首先要了解

easyExcel怎么获取表头 直接贴代码就不废话了

import com.alibaba.excel.context.AnalysisContext;import com.alibaba.excel.event.AnalysisEventListener;import lombok.Data;import java.util.*;@Datapublic class AnalysisEventMonitor extends AnalysisEventListener<Map<Integer, String>> {        Map<Integer, String> key = new HashMap<>();        List<String> keyList=new ArrayList<>();    public AnalysisEventMonitor() {    }        @Override    public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {        Set<Integer> integerSet = headMap.keySet();        for (Integer integer : integerSet) {            keyList.add(headMap.get(integer));        }        key.putAll(headMap);    }    @Override    public void doAfterAllAnalysed(AnalysisContext context) {    }    @Override    public void invoke(Map<Integer, String> integerStringMap, AnalysisContext analysisContext) {    }}

这块代码就是用于easyExcel读取excel表格的时候拦截表头

类自己创建 继承AnalysisEventListener 就可以 然后重写她的invokeHeadMap方法就可以获取到excel 的一级表头了。

下面导入文件一块的代码

//加载拦截器 作用于 获取表头            AnalysisEventMonitor analysisEventMonitor = new AnalysisEventMonitor ();            //读取导入的excel 这个地方容易报错 0✖什么的 这个时候就去把excel的文件用高级版本的excel重新导出 因为版本过低的问题            List<Map<Integer,Object>> list = EasyExcel.read(file.getInputStream(),analysisEventMonitor ).sheet(0).doReadSync();            //获取拦截器拦截到的 表头的Map集合            Map<Integer, String> key = analysisEventMonitor .getKey();

现在 我们拿到了数据也拿到了表头。有的人就会好奇了,你只是获取了一级表头,那我二级表头怎么办? 别着急 听我慢慢说。

上方的代码块, 第二行获取了excel的数据 这个数据是去掉了一级表头之后的数据,说到这 可能有的人就懂了,有的人还是不懂 ok 我们继续说,第三行代码 是我们拦截器拦截的表头的集合 可以看出来 是以map接收的 map的key是一个Integer类型,欸 巧了,我们的数据 list 其中也包了个map而且 map的key 恰好也是Integer类型,这个时候逻辑性好的同学肯定想到了,这个integer 可不是瞎写瞎排序的 而是表头的位置与数据遥相呼应的。那这个时候就简单了,我们只需要找到多级表头的开始位置 即可 下面我会贴图 然后再做解答。

Java easyExcel的多级表头怎么导入

看到现在 成绩是合并了的 多级表头,这个时候 我们获取到的表头集合中的1对应姓名 2对应电话 3对应成绩 我们获取到的数据list,代码写 list.get(0); 这个获取到的数据 就是二级表头中的数据 这个时候又是拿到了一个map 对应关系分别是 1=null 2=null 3=英语 4=语文。 这个时候又有人说了 如果我后面再多一个多级表头怎么办? 贴图。

Java easyExcel的多级表头怎么导入

这个时候 我们获取到的表头数据中 1=姓名 2=电话 3=成绩 4=null 5=考核结果 获取到的list数据中 1=null 2=null 3=英语 4=语文 5=英语 6=语文
到此 多表头的导入就结束了,有的人还是不知道怎么把他存入数据库,那你就要想想了,最笨的方法就是记住下标 填充到实体类中,这个办法非常不推荐 不灵活! 最好办的办法就是用枚举 匹配 文字 再匹配字段 填充实体类 再或者 写个方法 将文字与字段对应上 自动转换实体类。

关于“Java easyExcel的多级表头怎么导入”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Java easyExcel的多级表头怎么导入”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java easyExcel的多级表头怎么导入

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java easyExcel的多级表头怎么导入

这篇文章主要介绍了Java easyExcel的多级表头怎么导入的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java easyExcel的多级表头怎么导入文章都会有所收获,下面我们一起来看看吧。首先要了解ea
2023-07-02

Java怎么用EasyExcel解析动态表头并导出

本文小编为大家详细介绍“Java怎么用EasyExcel解析动态表头并导出”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java怎么用EasyExcel解析动态表头并导出”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知
2023-07-04

Java多例Bean的应用场景-easyExcel导入

EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目。这篇文章主要介绍了用easyExcel导入JavaBean的应用场景,感兴趣的朋友可以参考阅读
2023-05-15

element表格多级表头子列固定怎么实现

这篇“element表格多级表头子列固定怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“element表格多级表头子列
2023-07-02

avue-crud多级复杂的动态表头怎么实现

这篇文章主要讲解了“avue-crud多级复杂的动态表头怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“avue-crud多级复杂的动态表头怎么实现”吧!Avue.js 是基于现有的e
2023-06-25

vue怎么实现excel表格的导入导出

这篇文章主要介绍“vue怎么实现excel表格的导入导出”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue怎么实现excel表格的导入导出”文章能帮助大家解决问题。一、下载xlsx插件npm i
2023-07-06

python怎么导入上级目录下的文件

要导入上级目录下的文件,可以使用相对路径。假设你的文件结构如下:```- project- main.py- utils- helper.py```要在`main.py`中导入`helper.py`,可以按照以下方式导入:```python
2023-09-17

oracle怎么导入一个表的全部数据

要导入一个表的全部数据,可以使用Oracle SQL Developer或者使用SQL*Loader工具来实现。以下是两种方法的示例:使用Oracle SQL Developer:打开Oracle SQL Developer并连接到数据库。
oracle怎么导入一个表的全部数据
2024-04-09

利用Java怎么将excel表格批量导入到数据库

本篇文章给大家分享的是有关利用Java怎么将excel表格批量导入到数据库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、创建导入抽象类package com.gcloud.
2023-05-30

利用java怎么实现文件的批量导入导出

利用java怎么实现文件的批量导入导出?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、介绍利用java实现文件的导入导出数据库,目前在大部分系统中是比较常见的功能了,今天
2023-05-31

怎么实现java多线程批量拆分List导入数据库

本篇内容介绍了“怎么实现java多线程批量拆分List导入数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!直接把list怼进Mysql使
2023-06-25

通用webpack多页面自动导入方案是怎么样的

这篇文章主要为大家分析了通用webpack多页面自动导入方案是怎么样的的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“通用webpack多页面自动导入方案是怎
2023-06-28

MySQL数据备份、还原、数据库迁移及表的导出和导入怎么实现

本篇内容介绍了“MySQL数据备份、还原、数据库迁移及表的导出和导入怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、数据备份备份数
2022-11-30

怎么用Java Hutool工具实现验证码生成及Excel文件的导入和导出

这篇文章主要介绍“怎么用Java Hutool工具实现验证码生成及Excel文件的导入和导出”,在日常操作中,相信很多人在怎么用Java Hutool工具实现验证码生成及Excel文件的导入和导出问题上存在疑惑,小编查阅了各式资料,整理出简
2023-06-21

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录