easypoi导入数值精度丢失

记录一下easypoi导入数值,精度丢失的解决方案

1.导入的excel字段如图

easypoi导入数值精度丢失_第1张图片

2.easypoi解析CellValueService部分源码:

easypoi导入数值精度丢失_第2张图片

easypoi导入数值精度丢失_第3张图片

easypoi导入数值精度丢失_第4张图片

这个方法拿到的原始数据如图:

easypoi导入数值精度丢失_第5张图片

解决方法:

1.统一处理方式:在解析的时候使用DecimaFormat进行数据格式化

//格式化为6为小数
DecimalFormat decimalFormat = new DecimalFormat("#.######");
double value = cell.getNumericCellValue();
return decimalFormat .format(value);

2.在接收entity,使用json反序列化时,进行指定字段数值格式化:

easypoi导入数值精度丢失_第6张图片

在需要反序列化的entity中打上注解:

easypoi导入数值精度丢失_第7张图片

你可能感兴趣的:(excel,java)