easypoi
01 、前言 excel在日常工作中经常被用来存储用例信息,是一种非常便捷的数据存储工具有着众多的优点,我们就不一一介绍了。 今天来讲讲java操作excel,总所周知java是世界上最好的语言(不容反驳),操作一个excel肯定是不在话下。 咱们熟知的POI,Apache大佬出品的一款非常强大的office软件操作包。 虽然POI强大,但是代码相对比较繁琐,在当前python引领的大潮下,简化代码势在必行。 那么如何简化代码呢? 其实这些事情早就已经有人帮我们想好和做好了,比如阿里巴巴的easyexcel,和我们今天的主角esaypoi都是非常好的解决方案。 那为什么选择easypoi而不是阿里的easyexcel呢? 当然是easypoi的读写导入和导出更加简单。 接下来大家就跟随着我一起慢慢揭开easypoi的神秘面纱。 02 、简介 easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板。 官网: https://opensource.afterturn.cn/doc/easypoi.html 03 、maven坐标
cn.afterturn easypoi-annotation 4.0.0 cn.afterturn easypoi-base 4.0.0
04
、最简单的导入
完成最简单的导入,只需要两步:
一使用注解配置实体类,二调用工具类。
实体类(省略get/set方法):
public class API implements Serializable { @Excel(name = "接口名称") private String name; @Excel(name = "接口编号") private String id; @Excel(name = "接口提交方式") private String type; @Excel(name = "接口地址") private String url; @Excel(name = "参数类型") private String contentType;}
@Excel
(name = "接口名称")这个注解是啥意思呢?
name属性表示excel表头。
如图:
![5a79b53ba0227656a30c45f7c6c4b69e.png](https://i-blog.csdnimg.cn/blog_migrate/2faaa77a3fe875f9ceab114b476ead7d.png)
FileInputStream fis = new FileInputStream(EXCEL_PATH);//导入参数设置类ImportParams params = new ImportParams();List importExcel = ExcelImportUtil.importExcel(fis, API.class, params);
总共三行代码,第一行加载excel文件,第二行设置导入参数,第三行根据导入参数返回对应结果并封装成List集合。
这三个代码中主要讲解第二行和第三行,第二行是导入参数设置,它能给我们提供什么设置呢? 参考下表:
05、最简单的导出
List list = new ArrayList();ExportParams exportParams = new ExportParams();Workbook workbook = ExcelExportUtil.exportExcel(exportParams, API.class, list);workbook.write(new FileOutputStream(EXCEL_PATH));
导出也只有四句代码。
第一句是需要导出的数据集合,第二句导出参数,第三句获取导出workbook对象,第四句通过输出流导出数据到excel中。
其中第二句也是有很多设置的,我们就用默认设置也能是导出的。
第三句也要用到API实体类中的注解映射关系。
06、最后
通过esaypoi我们能够使用最少的代码完成基本的导入和导出,基本上能够应对实际工作中80%的需求了。
如果需要对excel修改的话,目前来说市面上的工具包都做的不太简单,所以还是需要通过编写原生poi代码完成。
如果你需要修改excel的代码可以留言哦~
本文由柠檬班罗杰老师原创,转载需注明出处!
![f47bf92fce7780f1ae4850fef3306a2f.png](https://i-blog.csdnimg.cn/blog_migrate/e790841b328c41c5a82f5d4bd38146a8.jpeg)
关注微信公众号
领取100G测试资料
让软件测试学习变得更简单!
既然在看了,就点一下吧!!