excel 不能插入对象_Jxls插件导出excel犹如编写jsp页面,就是这么简单

你项目中是否有许多需求需要导出excel?是否还在使用poi的方式直接导出excel?有没有感觉使用poi的方式每导出一个excel都要写许多繁琐的代码,特别是复杂的excel的时候是不是有种砸电脑的冲动!

老铁别冲动,今天介绍一款生成excel的插件jxls,我们只需要预先制作好excel模板,然后在excel中使用批注的方式读取对象属性,类型写jsp的使用标签的方式,这就灵活许多了,只要能拿到数据,我们想在excel怎么展示就怎么展示。

开始我们今天的干货吧!

搭建springboot项目

进入spring官网,选择相应需要的组件,直接生成一个压缩包,然后用idea打开即可

c52492d32dde9dcb0efa9cfecedd2785.png

导入jxls相关依赖包

org.jxls   jxls   2.6.0org.jxls   jxls-poi   1.2.0org.jxls   jxls-jexcel   1.0.8org.jxls   jxls-reader   2.0.5

构建对象

假使我们现在需要导出一张学生信息的excel文件,新建student对象

003dfcbb05c6941d67394aca34991f76.png

编写生成excel的工具类

注意代码中的TEMPLATE_PATH指的是excel模板存放的目录,我们一般会在resources新建一个叫template的目录。

fdd155c2c37796bc94d6d31b6f50eb96.png

新建excel模板

在resources下的template的目录中我们新建一个student.xlsx的模板文件,excel模板的内容定义显示姓名、班级、性别、地址,然在姓名单元格插入批注,批注内容:jx:area(lastCell="D2")

解释:D2数据最后一个单元格为D2这个位置

59af886f3778ec18181a82ca471fc165.png
6d77f5b840e1d6f67a890fbde9aa69e4.png

模板中编写数据循环代码,同样在姓名下面的单元格插入批注

Lau meme:

jx:each(items="students" var="detail" lastCell="D2")

解释:循环students对象,定义用detail表示

具体单元格的值使用$符号调用,例如需要显示姓名则填入${detail.name},name对应我们代码中定义的属性名称

a19082f4afc387b6c66d6b7ad2c17238.png
686b7047586a3b8d3483bc5495670492.png

编写控制器

新建一个controller,调用excel生成工具

d6709eb3457a7179dd808f036c310bb8.png

新建一个模拟数据的方法

5b76641eafe430fc762bf2cc46000ab9.png

运行代码,访问controller,一起看一下效果吧

334ef31a0d5e832e6210ed8c4a7e18ed.png

大功告成,有没有觉得使用jxls导出excel简单多了,如果你觉得有用,记得点个赞哦!

------------------------------------------------END-----------------------------------------------------------------

你的一个赞一个关注是我创作的动力,是我持续输出的能量源泉,老铁关注一波吧

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页