概述
本篇总体介绍web项目中,通过浏览器,将查询到的数据导出到Excel表格的功能场景下,后台Java的实现和使用。本功能涉及的代码已运用到十多个项目以上,最长使用时间已超过3年,运行正常。
详述
本功能基于jxl实现,代码核心代码如下:
上图中,方法exportData负责生成Excel表格,通过反射机制根据m_methods中给定的反射字段读取给定查询条件下的数据,并依据数据量的大小,判断是否需要生成多个sheet。ReadDataHelper是一个内部接口,开放给开发人员使用,其中需要用到持久层定义的读取数据库的API。
开发人员实现导出功能时,只需在业务侧构建ExportData实例,并按照接口exportData给出的内容提示,丰富相关定义即可,非常简单。
以一个基于SpringMVC+Mybatis+mysql的web项目为例,我们来看看,具体该如何使用以上功能代码来完成导出功能的。
框架简图
本导出功能被引用的位置,如上图红色区域所示。
案例
- 业务侧(Services)代码
- Mybatis侧提供的Sql API
- Bean中的部分代码
请参考以上业务侧(Services)代码 图中2的内容去理解。
写在最后
如你有导出Excel的功能需要去实现,那非常欢迎你找我获取对应的功能库。如对源代码感兴趣,也可以提供给你。使用期间,如有困惑,全程指导。请私信我,或加我微信:Conton1314,加我微信时,请注明“导出Excel”,谢谢。