excel-converter:一行代码实现java中excel数据导入导出

标签:

本文出自jvm123.com-java技术分享站:http://jvm123.com/2019/08/excel-converter-post.html

Excel-converter 是我去年春节之际开发的一个 java中excel数据导入导出 的项目。

当时在某公司担任 java 工程师已经好几年,工作上参与的几个项目都有许多excel导入导出的功能。所以在完成工作之后,我就很想做一个使用简单的工具,能满足大部分项目的这种数据导入导出 excel 的功能。

在去年元旦假期那会,我就开始准备这个项目,假期结束后,还没有好的方法实现功能。之后由于工作紧张,这个项目偶尔深夜才能提交一点代码。项目暂时被搁浅了……

这个项目大部分功能的开发,是在春节假期。当时回到老家,每天还是对着电脑写代码,想着怎样实现才能在使用的时候更加方便……

春节假期结束之前,一个初步的版本已经出来了(excel-converter),用起来虽然不难,但是一点也不简洁。于是得益于springboot自动配置和约定大于配置的方向,我开发了 excel-converter-starter,是一个依赖 excel-converter 的项目,也是一个springboot starter项目,这个项目的使用就很简洁了:

简洁程度如下:

加入 excel-converter-starter 依赖、注入ExExporter后,使用如下一句代码导出excel:

exExporter.export(dataList, file);

这样做使用的都是默认的配置。

而对于导入 Excel 中的数据,只要指定了excel数据列对应的实体属性,使用 excel-converter-starter, 也可以一句代码导入为java的List<T>:

List<Person> peo = exImporter.convert("./企业人员汇总表.xlsx", Person.class);

一句代码导入的前提:在excel数据的第一行指定数据列对应的java实体的属性。这一行在源码中称作 nameRow,这行的位置也可以自由配置。

当然,以上一句代码导入导出的,一些相关属性也可以自由配置;对于excel文件的参数也可以使用File实例、String路径、以及输入输出流。

这段时间,代码一直存在在gitee,已经开源出去了。

考虑到在实际使用的时候,不止有导出list的要求,也常常会有按照给定的模板,用数据填充模板的要求。所以,在假期结束之后,也抽空做了这样的功能。

后来,工作上的项目果然要实现这样的导出,同项目组的开发人员都嫌这个任务太麻烦,而我自告奋勇接下了,将自己开源的项目jar包加入,简单配置调用就实现了功能,接下来的两天就上班看乱弹、再刷一 刷动弹…… (老板也没发现)

今年7月份,我申请了域名 jvm123.com (灵感来自于 java1234 知识资源分享网),于是,我就以 com.jvm123 的名义将完善后的这两个项目发布到 maven 中央仓库,作为1.0 版本,这样任何人都可以使用了。

中央仓库搜索 jvm123 就可以看到 excel converter 和 excel converter starter,如下:

地址https://mvnrepository.com/artifact/com.jvm123

excel-converter:一行代码实现java中excel数据导入导出插图
mvn中央仓库-jvm123.com

项目的源码可以访问码云空间: https://gitee.com/yawensilence/excel-converter

以下是 excel converter 和 excel converter starter 两个项目详细使用说名的几篇博文:

发表评论