EasyExcel数值格式保留小数以及自定义格式单元格

问题

  1. 在easyexcel里面设置单元格格式的时候,目前项目使用的是注解注入的方式,如下:
@ExcelProperty(value = "描述")
@ContentStyle(dataFormat = 49)
@ColumnWidth(value = 50)
private String description;

这里的dataformat对应的是以下的格式,49就是文本

 private static final String[] BUILTIN_FORMATS_CN = {// 0"General",// 1"0",// 2"0.00",// 3"#,##0",// 4"#,##0.00",// 5"\"\"#,##0_);(\"\"#,##0)",// 6"\"\"#,##0_);[Red](\"\"#,##0)",// 7"\"\"#,##0.00_);(\"\"#,##0.00)",// 8"\"\"#,##0.00_);[Red](\"\"#,##0.00)",// 9"0%",// 10"0.00%",// 11"0.00E+00",// 12"# ?/?",// 13"# ??/??",// 14// The official documentation shows "m/d/yy", but the actual test is "yyyy/m/d"."yyyy/m/d",// 15"d-mmm-yy",// 16"d-mmm",// 17"mmm-yy",// 18"h:mm AM/PM",// 19"h:mm:ss AM/PM",// 20"h:mm",// 21"h:mm:ss",// 22// The official documentation shows "m/d/yy h:mm", but the actual test is "yyyy-m-d h:mm"."yyyy-m-d h:mm",// 23-26 No specific correspondence found in the official documentation.// 23null,// 24null,// 25null,// 26null,// 27"yyyy\"\"m\"\"",// 28"m\"\"d\"\"",// 29"m\"\"d\"\"",// 30"m-d-yy",// 31"yyyy\"\"m\"\"d\"\"",// 32"h\"\"mm\"\"",// 33"h\"\"mm\"\"ss\"\"",// 34"上午/下午h\"\"mm\"\"",// 35"上午/下午h\"\"mm\"\"ss\"\"",// 36"yyyy\"\"m\"\"",// 37"#,##0_);(#,##0)",// 38"#,##0_);[Red](#,##0)",// 39"#,##0.00_);(#,##0.00)",// 40"#,##0.00_);[Red](#,##0.00)",// 41"_(* #,##0_);_(* (#,##0);_(* \"-\"_);_(@_)",// 42"_(\"\"* #,##0_);_(\"\"* (#,##0);_(\"\"* \"-\"_);_(@_)",// 43"_(* #,##0.00_);_(* (#,##0.00);_(* \"-\"??_);_(@_)",// 44"_(\"\"* #,##0.00_);_(\"\"* (#,##0.00);_(\"\"* \"-\"??_);_(@_)",// 45"mm:ss",// 46"[h]:mm:ss",// 47"mm:ss.0",// 48"##0.0E+0",// 49"@",// 50"yyyy\"\"m\"\"",// 51"m\"\"d\"\"",// 52"yyyy\"\"m\"\"",// 53"m\"\"d\"\"",// 54"m\"\"d\"\"",// 55"上午/下午h\"\"mm\"\"",// 56"上午/下午h\"\"mm\"\"ss\"\"",// 57"yyyy\"\"m\"\"",// 58"m\"\"d\"\"",// 59"t0",// 60"t0.00",// 61"t#,##0",// 62"t#,##0.00",// 63-66 No specific correspondence found in the official documentation.// 63null,// 64null,// 65null,// 66null,// 67"t0%",// 68"t0.00%",// 69"t# ?/?",// 70"t# ??/??",// 71"ว/ด/ปปปป",// 72"ว-ดดด-ปป",// 73"ว-ดดด",// 74"ดดด-ปป",// 75"ช:นน",// 76"ช:นน:ทท",// 77"ว/ด/ปปปป ช:นน",// 78"นน:ทท",// 79"[ช]:นน:ทท",// 80"นน:ทท.0",// 81"d/m/bb",// end};

一般不做说明限制的都是默认常规类型的单元格,像上面那样做自定义的话显示的其实也还是自定义类型的格式,但是现在我需要把单元格格式设置为数值,并且保留小数点后三位,按道理来说应该是这样子设置

/**
* test, 最终导出值
*/
@ExcelProperty(value = "test")
@ColumnWidth(value = 10)
@NumberFormat("0.000")
private double test;

这时候导出会发现这是个自定义类型的单元格
在这里插入图片描述
这时候就需要这样子设置了, 在小数后面加下横杠和空格(不加空格的话是不生效的,还是默认的常规)

/**
* test, 最终导出值
*/
@ExcelProperty(value = "test")
@ColumnWidth(value = 10)
//加下横线并且加多个空格
@NumberFormat("0.000_ ")
private double test;

直接上效果图
在这里插入图片描述
同理,保留几位小数就在后面加0,不保留小数直接去掉小数点和后面的0


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部