首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel-converter:一行代码实现java中excel数据导入导出 转

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

作者头像
yawn
发布2019-08-24 19:18:00
7800
发布2019-08-24 19:18:00
举报

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,如下:

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

mvn中央仓库-jvm123.com

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

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

http://jvm123.com/?s=excel-converter

本文转载自:jvm123-java技术分享站 

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档