背景

在做接口测试的时候,经常会使用 Excel 来存储对应的接口信息和用例信息,为了方便程序的读取,引入easypoi 工具来读取 Excel 内容。easypoi 比起 poi 使用更加的方便,代码量也少很多。

应用代码

例如我想读取下面 Excel 中的接口信息:

  • 引入对应 easypoi 依赖:
<!--easypoi依赖-->
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-annotation</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>cn.afterturn</groupId>
<artifactId>easypoi-base</artifactId>
<version>4.0.0</version>
</dependency>
<!-- 添加校验,在easypoi读取Excel时,可以去掉空行,同时对字段进行强制校验 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.2.4.Final</version>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>2.2.4</version>
</dependency>
  • 创建对应的实体类:
package com.ggf.juhe.pojo;

import cn.afterturn.easypoi.excel.annotation.Excel;

import javax.validation.constraints.NotNull;

/**
* @Description: 接口信息实体类
* @Author: ggf
* @Date: 2020/06/13
*/
public class ApiInfo {
/**
* 接口编号
*/
@Excel(name="接口编号")
private String id;
/**
* 接口名称
*/
@Excel(name="接口名称")
private String name;
/**
* 请求URL
*/
@Excel(name="接口地址")
@NotNull
private String url;
/**
* 接口请求方式
*/
@Excel(name="接口提交方式")
private String method;
/**
* 请求数据类型
*/
@Excel(name="接口参数类型")
private String type; public ApiInfo() {
} public ApiInfo(String id, String name, String method, String url, String type) {
this.id = id;
this.name = name;
this.method = method;
this.url = url;
this.type = type;
} public String getId() {
return id;
} public void setId(String id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getMethod() {
return method;
} public void setMethod(String method) {
this.method = method;
} public String getUrl() {
return url;
} public void setUrl(String url) {
this.url = url;
} public String getType() {
return type;
} public void setType(String type) {
this.type = type;
} @Override
public String toString() {
return "ApiInfo{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", method='" + method + '\'' +
", url='" + url + '\'' +
", type='" + type + '\'' +
'}';
}
}
  • easypoi 读取 Excel 代码:
package com.ggf.juhe.demo;

import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import com.ggf.juhe.pojo.ApiInfo; import java.io.FileInputStream;
import java.io.IOException;
import java.util.Collections;
import java.util.List; /**
* @Description:
* @Author: ggf
* @Date: 2020/06/13
*/
public class EasypoiDemo {
public static void main(String[] args) {
String filePath = "src/main/resources/jhapi_case.xlsx";
List<ApiInfo> apiInfos = readExcel(filePath, 0, ApiInfo.class);
for (ApiInfo apiInfo : apiInfos) {
System.out.println(apiInfo);
}
} /**
*
* @param filePath Excel文件路径
* @param sheetIndex 对应的表单,从0开始,0代表第一个表单
* @param clazz 对应封装的数据实例对象
* @return 返回数据集合
*/
public static <E> List<E> readExcel(String filePath, int sheetIndex, Class<E> clazz) {
// 定义输入流
FileInputStream fis = null;
List<E> datas = null; try {
// 创建输入流对象
fis = new FileInputStream(filePath);
// 创建一个easypoi使用的配置类
ImportParams params = new ImportParams();
// 设置表格坐标
params.setStartSheetIndex(sheetIndex);
// 校验Excel文件,去掉空行
params.setNeedVerify(true);
// 读取数据
datas = ExcelImportUtil.importExcel(fis, clazz, params);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (fis != null) {
fis.close();
}
} catch (IOException e) {
e.printStackTrace();
}
} return datas;
}
}
  • 打印结果

easypoi 读取 Excel 简单应用的更多相关文章

  1. 第四篇:java读取Excel简单模板

    场景:对于经常需要导入Excel模板或数据来解析后加以应用的,使用频率非常之高,做了一个比较稳定的版本,体现在这些地方工具:org.apache.poi使用前必须了解这些:1.要解析,那肯定先判断是不 ...

  2. Java web的读取Excel简单Demo

    目录结构: Data.xls数据:   后台页面: GetExcelData.java       public void doGet(HttpServletRequest request, Http ...

  3. 简单poi读取excel

    1.添加依赖jar包 maven配置: <!-- poi being --> <dependency> <groupId>org.apache.poi</gr ...

  4. JAVA使用POI读取EXCEL文件的简单model

    一.JAVA使用POI读取EXCEL文件的简单model 1.所需要的jar commons-codec-1.10.jarcommons-logging-1.2.jarjunit-4.12.jarlo ...

  5. Unity用Excel.dll简单读取Excel内容

    Unity用Excel.dll简单读取Excel内容 需要Excel.dll 需要如下三个命名空间 using System.IO; using Excel; using System.Data; 1 ...

  6. C#读取Excel文件的简单方法

    一.简述 本文讲C#通过第三方库读取Excel的最简单的方法,下文给一个读取行数的例子. 二.依赖 引入nuget.org包如下: <?xml version="1.0" e ...

  7. python pandas模块简单使用(读取excel为例)

    第一步:模块安装 pip install pandas 第二步:使用(单个工作表为例) 说明:如果有多个工作表,那么只要指定sheetname=索引,(第一个工作表为0,第二个工作表为1,以此类推) ...

  8. Vue+EasyPOI导出Excel(带图片)

    一.前言 平时的工作中,Excel 导入导出功能是非常常见的功能,无论是前端 Vue (js-xlsx) 还是 后端 Java (POI),如果让大家手动编码实现的话,恐怕就很麻烦了,尤其是一些定制化 ...

  9. 使用Aspose.Cells读取Excel

      最新更新请访问: http://denghejun.github.io Aspose.Cells读取Excel非常方便,以下是一个简单的实现读取和导出Excel的操作类: 以下是Aspose.Ce ...

随机推荐

  1. redis起步 zz

    Rdis和JQuery一样是纯粹为应用而产生的,这里记录的是在CentOS 5.7上学习入门文章: 1.Redis简介 Redis是一个key-value存储系统.和Memcached类似,但是解决了 ...

  2. 201771010128王玉兰《面向对象程序设计(Java)第十四周学习总结》

    第一部分:理论知识总结: (1)Swing 设计模式(Design pattern)是设计者一种流行的 思考设计问题的方法,是一套被反复使用,多数人 知晓的,经过分类编目的,代码设计经验的总结. 使用 ...

  3. Spring IOC 容器 简介

    Spring 容器是 Spring 框架的核心.容器将创建对象,把它们连接在一起,配置它们,并管理他们的整个生命周期从创建到销毁. Spring 容器使用依赖注入(DI)来管理组成一个应用程序的组件. ...

  4. 【python爬虫】scrapy入门8:发送POST请求

    scrapy基础知识之发送POST请求与使用 FormRequest.from_response() 方法模拟登陆 https://blog.csdn.net/qq_33472765/article/ ...

  5. window端口被占用

    一.问题描述 今天一来公司,在IntelliJ IDEA 中启动Tomcat服务器时就出现了如下图所示的错误: 错误: 代理抛出异常错误: java.rmi.server.ExportExceptio ...

  6. 使用records库操作SQL并且查询MySQL数据库

    获取数据库 db = records.Database('mysql://root:xxxx@47.106.151.165/web_table?charset=utf8')注释:xxxx为数据密码 执 ...

  7. [PHP自动化-进阶]005.Snoopy采集框架介绍

    引言:Snoopy是一个php类,用来模仿web浏览器的功能,它能完成获取网页内容和发送表单的任务. **官方网址:http://snoopy.sourceforge.net/** 简单一句话表达:& ...

  8. HotRing: A Hotspot-Aware In-Memory Key-Value Store(FAST ’20)

      本文主要解决的是基于内存的K-V存储引擎在实际应用中出现的热点问题,设计了一个热点可感知的KV存储引擎,极大的提升了KV存储引擎对于热点数据访问的承载能力. Introduction 热点问题,可 ...

  9. OI 做题的常见错误

    会引起 Compile Error 的错误 由于这类错误过于简单,相信是个正常人都会修,故略写. int main() 写为 int mian() . 写完 struct 或 class 忘记写分号. ...

  10. VNC远程控制,如何使用VNC远程控制来管理公司?

    VNC是功能强大的远程操作软件,可以实现日常的远程连接操作:如果稍加利用,可以实现公司的日常管理:既能够节省自身的时间,还可高效的完成这个功能! 我们可以使用:服务器管理工具来进行相关的操作 一.首先 ...