easyExcle对poi进行二次封装优化,对外提供了更加方便的接入方式,如果对导出Excle的标题有比较复杂的业务需求,那么就要用到官方提供的2中方式(模版填充、自定义标题),如果自定义标题也不能满足我们的需求,例如我们需要在标题中切入图片需求,要么采用第一种比较简单的模版填充方式,但是如果你不想使用模版的方式,倾向于使用java代码来实现,那么本文可能对你有所帮助,我们采用自定义标题加上拦截器。
业务说明,根据业务需要我们需要生成如下截图的excel文件
对导出文件进行分析:
1、第一行合并单元格
2、第一行中间显示图片,图片是根据其中一个字段生成的条形码
3、第二行也是标题
4、从第三行开始才是数据
实现方案:
1、采用模版填充的方式,很好实现,将需要填充的单元格用变量替换,在程序中使用map进行数据封装
2、采用自定义标题,纯java代码,自定义标题加拦截器,第一步在自定义标题中填充除了图片以外的数据,第二步在拦截器中获取该字段将其转成图片,再次写入到excel中且调整格式
这篇文章我们采用第二种方案
controller层类 ExcelExportController
@GetMapping(value = "/exportExcel