easypoi 读取 Excel 简单应用
背景
在做接口测试的时候,经常会使用 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 简单应用的更多相关文章
- 第四篇:java读取Excel简单模板
场景:对于经常需要导入Excel模板或数据来解析后加以应用的,使用频率非常之高,做了一个比较稳定的版本,体现在这些地方工具:org.apache.poi使用前必须了解这些:1.要解析,那肯定先判断是不 ...
- Java web的读取Excel简单Demo
目录结构: Data.xls数据: 后台页面: GetExcelData.java public void doGet(HttpServletRequest request, Http ...
- 简单poi读取excel
1.添加依赖jar包 maven配置: <!-- poi being --> <dependency> <groupId>org.apache.poi</gr ...
- JAVA使用POI读取EXCEL文件的简单model
一.JAVA使用POI读取EXCEL文件的简单model 1.所需要的jar commons-codec-1.10.jarcommons-logging-1.2.jarjunit-4.12.jarlo ...
- Unity用Excel.dll简单读取Excel内容
Unity用Excel.dll简单读取Excel内容 需要Excel.dll 需要如下三个命名空间 using System.IO; using Excel; using System.Data; 1 ...
- C#读取Excel文件的简单方法
一.简述 本文讲C#通过第三方库读取Excel的最简单的方法,下文给一个读取行数的例子. 二.依赖 引入nuget.org包如下: <?xml version="1.0" e ...
- python pandas模块简单使用(读取excel为例)
第一步:模块安装 pip install pandas 第二步:使用(单个工作表为例) 说明:如果有多个工作表,那么只要指定sheetname=索引,(第一个工作表为0,第二个工作表为1,以此类推) ...
- Vue+EasyPOI导出Excel(带图片)
一.前言 平时的工作中,Excel 导入导出功能是非常常见的功能,无论是前端 Vue (js-xlsx) 还是 后端 Java (POI),如果让大家手动编码实现的话,恐怕就很麻烦了,尤其是一些定制化 ...
- 使用Aspose.Cells读取Excel
最新更新请访问: http://denghejun.github.io Aspose.Cells读取Excel非常方便,以下是一个简单的实现读取和导出Excel的操作类: 以下是Aspose.Ce ...
随机推荐
- Ubuntu 安装 rabbitmq
第一步:安装 erlang 官网:https://www.erlang-solutions.com/resources/download.html 然后在终端输入:erl 显示如下,说明安装成功! E ...
- Nginx 运维(安装与使用)
Nginx 运维(安装与使用) 普通安装 Windows安装 (1)进入官方下载地址,选择合适版本(nginx/Windows-xxx). (2)解压到本地 (3)启动 下面以 C 盘根目录为例说明下 ...
- VSCode开发Vue-代码格式化最完美设置
Vue在VsCode上面的开发,代码格式话是个老大难问题了. 有很多文章介绍Prettier四个配置方法,以及如何启用.但是结果就是:一个一个配完,还是看着难受 现在尝试出一种最完美格式化方式,分享出 ...
- 0512String类
String类 2. String类 2.1 字符串类型概述 又爱又恨!!! 爱: 字符串基本上就是数据的保存,传输,处理非常重要的一种手段. 恨: 解析过程非常烦人,需要掌握熟记很多方法,同时需要有 ...
- Java8中的Lambda表达式
Lambda是什么 Lambda表达式,也可称为闭包,是java8的新特性,作用是取代大部分内部类,优化java代码结构,让代码变得更加简洁紧凑. Lambda的基本语法 (expression)-& ...
- Dubbo源码阅读-服务导出
Dubbo服务导出过程始于Spring容器发布刷新事件,Dubbo在接收到事件后,会立即执行服务导出逻辑.整个逻辑大致可分为三个部分,第一部分是前置工作,主要用于检查参数,组装URL.第二部分是导出服 ...
- [JavaWeb基础] 014.Struts2 标签库学习
在Struts1和Struts2中都有很多很方便使用的标签库,使用它可以让我们的页面代码更加的简洁,易懂,规范.标签的形式就跟html的标签形式一样.上面的篇章中我们也讲解了自定义标签那么在如何使用标 ...
- html5学习之路_002
html块 html块元素 块元素在显示时,通常会以新行开始 如:<h1>.<p>.<ul> html内联元素 内联元素头通常不会以新行开始 如:<b> ...
- Telegraf和Grafana监控多平台上的SQL Server
问题 SQL Server在很多企业中部署在多个平台上(Windows,Linux和Container),需要一种能支持多平台的解决方案用于收集和展示相关的监控指标. 我选择企业中比较流行的监控展示工 ...
- Rocket - debug - TLDebugModuleInnerAsync
https://mp.weixin.qq.com/s/Xf4VFTHIDFh1NHmfwlTX3w 简单介绍TLDebugModuleInnerAsync的实现. 1. dmInner dmInner ...