SpringBoot基于EasyExecl实现Execl模板导出
在Java中,涉及到Execl
导出的场景,大家应该对POI
和EasyExecl
并不陌生,我在工作中一般使用的EasyExecl
,在日常业务中,基本是中规中矩的第一行表头,下面为数据,或者表头合并等,可是,有时候则有一些差别,格式相对要复杂一点,而且表格中很多计算公式,虽然基于EasyExecl
的常规导出方式也可以实现,但是会有些繁琐,如果基于模板,则能更加简便的处理。
这次,我们便遇到这样的表格
虽然说不是非常复杂,但是,如果通过硬写代码的方式,那工作量也不小,如果,我们基于模板的方式导出,那便能减少不少工作量。这里我们便要借助EasyExecl
的填充Excel
功能来实现该场景。
如何引入EasyExecl
这就不说了,可以去官网查询,我们直接进入主题。首先,我们需要做好我们的模板。
模板格式为{.字段名}
,可以看到我们的表格调入站位表达式后,公式列变为了#VALUE!
,不要惊慌,待我们填充值之后,刷新一下即可。
模板准备好了,接下来便该填充模板信息。
1 | @PostMapping("/exportById/{id}") |
通过模板导出后后,我们可以看到,填写了模板表达式的单元格已经填充好了数据,但是我们的公式单元格却是#VALUE!
这样的错误,这时候,我们需要调用Easyexecl
提供的功能来刷新单元格
1 | Workbook workbook = excelWriter.writeContext().writeWorkbookHolder().getWorkbook(); |
最终,我们可以得到我们想要的结果
这样的表格,只是EasyExecl
中填充Excel
功能最简单的一种填充场景,它还可以实现更加灵活和复杂的模板场景。有兴趣的可以去尝试一下。
SpringBoot基于EasyExecl实现Execl模板导出