如何利用Spring Boot与EasyPoi快速搭建灵活、可配置的Excel导出

我们在项目中经常遇到Excel导出的需求,通常做法是使用POI实现,但POI开发的繁琐程度令人头痛,尤其是面对用户经常提出的模板变更需求,不得不再次投入开发人员重新编写代码以满足要求,开发投入成本也随之不断增加。如何快捷、简易的导出Excel方法呢?如何在我们的软件中提供灵活可配置的Excel导出功能呢?这些问题困扰我们很久,也尝试过封装SDK,但都因为开发成本高、技术能力有限而不了了之。苍天不负有心人!偶然的机会接触到EasyPoi,EasyPoi在方便编写Excel导出、Excel模板导出方面,相比较于POI确实振奋人心!接下来,我将以Spring

Boot 2.0集成EasyPoi的例子,分享一下快速搭建Excel导出功能的经验感受,以及搭建灵活、可配置的Excel导出功能的解决思路。

一、Spring Boot 2.0 集成 EasyPoi快速搭建Excel导出功能,具体步骤如下:

第一步,在POM中引入EasyPoi依赖,EasyPoi依赖包含easypoi-base、easypoi-web、easypoi-annotation三部分,版本是3.2.0,如下图所示:

EasyPoi依赖

第二步,定义实体类Student,使用@Excel注解定义单元格名称、宽度、高度等,如下图所示:

Student实体类

第三步,编写RESTful服务接口,导出Excel文件,如下图所示:

RESTful导出接口

第四步,运行程序,在浏览器中输入localhost:8080/excel/export,即可导出Excel,如下图所示:

导出Excel文件

二、Spring Boot 2.0 集成 EasyPoi搭建灵活、可配置的Excel导出功能,具体步骤和思路如下:

第一步,EasyPoi提供了一系列的模板指令,具体的模板指令可参考easypoi.mydoc.io网站。在这里,可以利用模板指令在Excel中编辑模板,如下图:

Excel模板

特别注意:“{{ ”和“}}” 的位置。

第二步,编写RESTful服务接口,导出Excel文件,如下图所示:

RESTful导出接口

第三步,运行程序,在浏览器中输入localhost:8080/excel/exportlist,即可导出Excel,如下图所示:

导出Excel文件

那么,如何搭建一个Excel导出配置工具,减少代码重写工作量甚至是零工作量呢?Excel数据导出的难点在于导出列属性与程序代码的紧耦合,例如上述Excel导出文件若增加专业、特长列属性时,就必须重新编写代码,因为列属性名称已经固化在代码之中。那么,我们解决问题的目标是实现代码中的列属性与Excel模板中的列属性解耦。解耦的做法即将程序代码中的列属性存放于外部存储介质。当模板中列属性变化时,通过对外部存储介质之中的列属性进行编辑,同时调整模板中模板指令,以达到模板与列属性集合的一致性。

结束语:EasyPoi提供了快速导出Excel文件和支持模板导出Excel文件的方法,在此方法基础上,可以进一步延伸出来丰富且灵活的应用。针对本文中提出来的通过配置方式导出Excel文件的具体实现代码,后续将继续补充和完善。

你可能感兴趣的:(如何利用Spring Boot与EasyPoi快速搭建灵活、可配置的Excel导出)