我是靠谱客的博主 娇气学姐,最近开发中收集的这篇文章主要介绍java操控easyexcel读取excel表格数据为null或部分字段为null,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 数据部分字段null或者全部null:

可以看到很多字段出现null,解决办法很简单如下:

一、实体类中需要添加toString方法(快捷生成toString键:Ctrl+Ins)

   @Override
    public String toString() {
        return "DemoDate{" +
                "id=" + id +
                ", name='" + name + ''' +
                ", Day='" + Day + ''' +
                ", Time='" + Time + ''' +
                '}';

二、实体类中的字段名开头不能为大写字母

完整代码如下:

        项目结构

这是我需要读取的Excel 表格文件

 这是我的pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.example</groupId>
  <artifactId>Demo2</artifactId>
  <version>1.0-SNAPSHOT</version>

  <name>Demo2</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

    <!--java操作数据库的jar包-->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>easyexcel</artifactId>
      <version>2.2.3</version>
    </dependency>
  </dependencies>

</project>

这是实体类DemmoDate

package com.tom.domain;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.metadata.BaseRowModel;

/*
                            实体类
用来盛装Excel中读取的数据,数据模板类
 */
public class DemoDate  {
    //绑定excel表格头,value是字段名,index是字段个数从零开始
    @ExcelProperty(value = "编号",index = 0)
    private int id;

    @ExcelProperty(value = "姓名",index = 1)
    private String name;

    @ExcelProperty(value = "周数",index = 2)
    private String day;

    @ExcelProperty(value = "节数",index = 3)
    private String time;

    public DemoDate() {
    }

    public DemoDate(int id, String name, String day, String time) {
        this.id = id;
        this.name = name;
         this.day = day;
        this.time = time;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDay() {
        return day;
    }

    public void setDay(String day) {
        this.day = day;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }

    @Override
    public String toString() {
        return "DemoDate{" +
                "id=" + id +
                ", name='" + name + ''' +
                ", Day='" + day + ''' +
                ", Time='" + time + ''' +
                '}';
    }
}

这是测试类

package com.tom.test;

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.tom.domain.DemoDate;
import org.junit.Test;

/*
读取操作单元测试
 */
public class ReadTest {
    @Test
    public void test01() {
        //读取Excel文件位置
        EasyExcel.read("D:\测试表格.xlsx", DemoDate.class, new AnalysisEventListener<DemoDate>() {

              // 每解析一行数据调用一次此处方法
            @Override
            public void invoke(DemoDate Date, AnalysisContext analysisContext) {

                System.out.println("解析的数据为:"+Date.toString());

                //调用数据库将解析完成的数据保存到数据库
            }
                 //当全部解析完被调用,这里还可以书写导入数据库的sql语句
            @Override
            public void doAfterAllAnalysed(AnalysisContext analysisContext) {
                System.out.println("-----解析完成-----");
            }
        }).sheet().doRead();
        
    }
}

运行结果:

最后

以上就是娇气学姐为你收集整理的java操控easyexcel读取excel表格数据为null或部分字段为null的全部内容,希望文章能够帮你解决java操控easyexcel读取excel表格数据为null或部分字段为null所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部