由于业务的需求变更,我有遇到了新的难点,为了解决这个难点,又进行进一步的优化

业务是这样的

excel-import-export excel导入导出框架的升级。_excel导入

excel-import-export excel导入导出框架的升级。_excel导入_02

对于这种情况我相信,很多小伙伴会被难住了,现有的框架,不管是哪一个框架都无法做到这种条件的处理

而我却仅仅使用了​​10几行代码就搞定了​​,是不是很想了解我是怎么处理的呢?

excel-import-export excel导入导出框架的升级。_字段_03

上面的标注的代码是框架工具处理的内容,对于必填字段又校验空处理。

另外对于那种不同单位,并且单位纵向填充。

在上一个版本种我通过自己写的注解​​@ExcelBindTitle​​中的size来实现统一的单位转换

这里我巧妙的利用新增字段,多收集一份数据,并且进行字段转换,

然后利用后面的3个​​if​​ 进行单位换算。实际上这3个​​if​​也可以在框架内部完成

同时上面还支持JSR303校验。


底层的原理实际上很简单,

例如这里的单位 ​​亩、公顷、平方公里、平方米​​。我们多收集一份数据

并且通过字段转换将​​亩、公顷、平方米、平方公里​​转换为字符串​​666.666667​​(亩换算成平方米)、同理公顷,平方公里也是一样的。

故也就出现了上面的3个​​BigDecimal的mitiply()​

如果想要更多的信息,可以找到上一篇文章,找我github源码,同时附上了测试案例