解决EasyPoi导入Excel获取不到第一列的问题

2024-04-17 05:44

本文主要是介绍解决EasyPoi导入Excel获取不到第一列的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1. 复现错误
  • 2. 分析错误
    • 2.1 导入的代码
    • 2.2 DictExcel实体类
    • 2.2 表头和标题
  • 3. 解决问题

1. 复现错误


使用EasyPoi导入数据时,Excel表格如下图:

在这里插入图片描述

但在导入时,出现如下错误:

在这里插入图片描述

name为英文名称,在第一列,Excel表格有值,但导入的代码中为null,就很奇怪?

2. 分析错误

2.1 导入的代码


因涉及公司代码,暂时就不贴出全部代码,只贴出部分问题的代码:

@Overridepublic void importExcel(WorkspaceUser user, MultipartFile file, Boolean coverFlag) {try {//【1】首先判断是不是空的文件if (file.isEmpty()) {throw new RuntimeException(IMPORT_EMPTY);}//【2】检查文件格式...//【3】设置EasyPoi参数ImportParams params = new ImportParams();//【3.1】设置标题params.setTitleRows(0);//【3.2】设置表头params.setHeadRows(2);//【3.3】导入数据List<DictExcel> dictExcels = ExcelImportUtil.importExcel(file.getInputStream(), DictExcel.class, params);//【4】检查是否存在导入数据......//【5】检查是否存在数据问题......} catch (Exception e) {log.error("error on import test excel", e);throw new RuntimeException(e);}}

2.2 DictExcel实体类

@Data
@ExcelTarget("dictExcel")
public class DictExcel {@Excel(name = "*英文缩写")private String abbreviation;@Excel(name = "英文名称")private String name;@Excel(name = "*中文名称")private String cnName;@Excel(name = "描述")private String description;
}

2.2 表头和标题


以上代码咋一看没有问题,进而分析Excel的表头和标题:

在这里插入图片描述

在有标题时,titleRows设置1,如果没有,设置 0 或者不设置(默认是0)。

因而,上述代码:

  1. params.setTitleRows(0);不对,应该是params.setTitleRows(1);,标题设置一行

  2. params.setHeadRows(2);不对,应该是params.setHeadRows(1);,表头设置一行

3. 解决问题

  1. params.setTitleRows(0);修改为是params.setTitleRows(1);,即标题设置一行

  2. params.setHeadRows(2);修改为params.setHeadRows(1);,即表头设置一行

//省略代码......
ImportParams params = new ImportParams();
//标题设置一行
params.setTitleRows(1);
//表头设置一行
params.setHeadRows(1);
//省略代码......

重新导入数据:

在这里插入图片描述

这篇关于解决EasyPoi导入Excel获取不到第一列的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/910934

相关文章

解决IDEA报错:编码GBK的不可映射字符问题

《解决IDEA报错:编码GBK的不可映射字符问题》:本文主要介绍解决IDEA报错:编码GBK的不可映射字符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录IDEA报错:编码GBK的不可映射字符终端软件问题描述原因分析解决方案方法1:将命令改为方法2:右下jav

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

利用Python打造一个Excel记账模板

《利用Python打造一个Excel记账模板》这篇文章主要为大家详细介绍了如何使用Python打造一个超实用的Excel记账模板,可以帮助大家高效管理财务,迈向财富自由之路,感兴趣的小伙伴快跟随小编一... 目录设置预算百分比超支标红预警记账模板功能介绍基础记账预算管理可视化分析摸鱼时间理财法碎片时间利用财

MyBatis模糊查询报错:ParserException: not supported.pos 问题解决

《MyBatis模糊查询报错:ParserException:notsupported.pos问题解决》本文主要介绍了MyBatis模糊查询报错:ParserException:notsuppo... 目录问题描述问题根源错误SQL解析逻辑深层原因分析三种解决方案方案一:使用CONCAT函数(推荐)方案二:

Redis 热 key 和大 key 问题小结

《Redis热key和大key问题小结》:本文主要介绍Redis热key和大key问题小结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、什么是 Redis 热 key?热 key(Hot Key)定义: 热 key 常见表现:热 key 的风险:二、

利用python实现对excel文件进行加密

《利用python实现对excel文件进行加密》由于文件内容的私密性,需要对Excel文件进行加密,保护文件以免给第三方看到,本文将以Python语言为例,和大家讲讲如何对Excel文件进行加密,感兴... 目录前言方法一:使用pywin32库(仅限Windows)方法二:使用msoffcrypto-too

SpringBoot整合mybatisPlus实现批量插入并获取ID详解

《SpringBoot整合mybatisPlus实现批量插入并获取ID详解》这篇文章主要为大家详细介绍了SpringBoot如何整合mybatisPlus实现批量插入并获取ID,文中的示例代码讲解详细... 目录【1】saveBATch(一万条数据总耗时:2478ms)【2】集合方式foreach(一万条数

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

python获取网页表格的多种方法汇总

《python获取网页表格的多种方法汇总》我们在网页上看到很多的表格,如果要获取里面的数据或者转化成其他格式,就需要将表格获取下来并进行整理,在Python中,获取网页表格的方法有多种,下面就跟随小编... 目录1. 使用Pandas的read_html2. 使用BeautifulSoup和pandas3.

SpringBoot UserAgentUtils获取用户浏览器的用法

《SpringBootUserAgentUtils获取用户浏览器的用法》UserAgentUtils是于处理用户代理(User-Agent)字符串的工具类,一般用于解析和处理浏览器、操作系统以及设备... 目录介绍效果图依赖封装客户端工具封装IP工具实体类获取设备信息入库介绍UserAgentUtils