赞
踩
优化前
优化后
因为业务需要,不同组织层级导出内容不相同,经过对比发现大部分列是通用的,最初是用一个模板,然后通过反射去修改对应属性的注解值来达到屏蔽的目的。
但是由于是在for循环中操作反射,如果数据量大时性能效率会很慢。所以使用了三套模板,利用BeanUtils的copyProperties()复制相同字段属性来进行数据处理,这种方式需要在生成数据时和生成Excel表格数据方法中都需要传入对应模板来进行匹配。
通过查找EasyExcel的官方文档,可以在创建ExcelWriter对象时通过excludeColumnFiledNames()和includeColumnFiledNames()方法来屏蔽列或指定列的导出,在创建表单数据和表头数据时不需要额外进行处理。提高了代码共用性和可读性,并且复杂度变低,循环中只处理通用内容不做额外处理,效率也最高。
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。