1.问题:
使用最版本 easyexcel 3.3.2 ,导出字段类型为 BigDecimal ,并使用 @NumberFormat("#.##%")格式化 导出, 当字段值为 0.0 时 会被format成 .% => 预期被格式化为: 0.00%
搜索问题issue,easy bug 说最新版本已修复,试了下easyexcel 3.3.2 还是存在问题
https://github.com/alibaba/easyexcel/issues/1306
环境说明:
SpringBoot 2.3.5
JDK8
pom.xml 依赖 easyexcel 版本为 3.3.2
<!-- easyexcel -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.3.2</version>
</dependency>
2.fix方案:
@NumberFormat(value = "#.##%", roundingMode = RoundingMode.HALF_UP) 修改为如下
@ExcelProperty(value = "百分比", order = 5)
@NumberFormat(value = "0.00%", roundingMode = RoundingMode.HALF_UP)
private BigDecimal percent;
3.效果
当percent字段值为 0.0 时 会被format成 0.00%
bug issues:
https://github.com/alibaba/easyexcel/issues/1306