Browse Source

避免科学计数法

master
han\hanst 1 week ago
parent
commit
4bca189ff2
  1. 30
      src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelExcelTXServiceImpl.java

30
src/main/java/com/xujie/sys/modules/ecss/service/impl/CoDelExcelTXServiceImpl.java

@ -677,25 +677,39 @@ public class CoDelExcelTXServiceImpl implements CoDelExcelTXService {
case STRING: case STRING:
return cell.getStringCellValue(); return cell.getStringCellValue();
case NUMERIC: case NUMERIC:
if (DateUtil.isCellDateFormatted(cell)) {
return new java.text.SimpleDateFormat("yyyy-MM-dd").format(cell.getDateCellValue());
}
// 避免科学计数法
BigDecimal bd = new BigDecimal(String.valueOf(cell.getNumericCellValue()));
return bd.stripTrailingZeros().toPlainString();
return formatNumericCellValue(cell);
case BOOLEAN: case BOOLEAN:
return String.valueOf(cell.getBooleanCellValue()); return String.valueOf(cell.getBooleanCellValue());
case FORMULA: case FORMULA:
try { try {
return String.valueOf(cell.getNumericCellValue());
} catch (Exception e) {
CellType cachedType = cell.getCachedFormulaResultType();
if (cachedType == CellType.STRING) {
return cell.getStringCellValue(); return cell.getStringCellValue();
} }
if (cachedType == CellType.BOOLEAN) {
return String.valueOf(cell.getBooleanCellValue());
}
if (cachedType == CellType.NUMERIC) {
return formatNumericCellValue(cell);
}
return "";
} catch (Exception e) {
return "";
}
default: default:
return ""; return "";
} }
} }
private String formatNumericCellValue(Cell cell) {
if (DateUtil.isCellDateFormatted(cell)) {
return new java.text.SimpleDateFormat("yyyy-MM-dd").format(cell.getDateCellValue());
}
// 避免科学计数法
BigDecimal bd = new BigDecimal(String.valueOf(cell.getNumericCellValue()));
return bd.stripTrailingZeros().toPlainString();
}
/** /**
* TX导入表头严格校验 * TX导入表头严格校验
* 1. 固定列必须全部存在 * 1. 固定列必须全部存在

Loading…
Cancel
Save