diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index 4497013a31..96f768ce2a 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -975,6 +975,38 @@ public class DataSetTableService { return ""; } CellType cellTypeEnum = cell.getCellTypeEnum(); + if (cellTypeEnum.equals(CellType.FORMULA)) { + try { + double d = cell.getNumericCellValue(); + try { + Double value = new Double(d); + double eps = 1e-10; + if (value - Math.floor(value) < eps) { + if (cellType) { + tableFiled.setFieldType("LONG"); + } + return value.longValue() + ""; + } else { + if (cellType) { + tableFiled.setFieldType("DOUBLE"); + } + NumberFormat nf = NumberFormat.getInstance(); + nf.setGroupingUsed(false); + return nf.format(value); + } + } catch (Exception e) { + BigDecimal b = new BigDecimal(d); + return b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue() + ""; + } + } catch (IllegalStateException e) { + String s = String.valueOf(cell.getRichStringCellValue()); + if (cellType) { + tableFiled.setFieldType("TEXT"); + tableFiled.setFieldSize(65533); + } + return s; + } + } if (cellTypeEnum.equals(CellType.STRING)) { if (cellType) { tableFiled.setFieldType("TEXT"); diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index e20dfd31ab..d8f023ad13 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -848,7 +848,7 @@ export default { edit_field: 'Edit Field', preview_100_data: 'Show 100 lines data', invalid_table_check: 'Please sync data first.', - parse_error: 'Parse Error,please check', + parse_error: 'Parse Error,please check.Reference:https://dataease.io/docs/faq/dataset_faq/', origin_field_type: 'Origin Type', edit_excel_table: 'Edit Excel Dataset', edit_excel: 'Edit Excel', diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index d26340a1e4..c100b77d04 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -890,7 +890,7 @@ export default { edit_field: '編輯自斷', preview_100_data: '顯示前100行數據', invalid_table_check: '非直連數據集請先完成數據同步', - parse_error: 'Excel解析錯誤,請檢查格式、字段等信息', + parse_error: 'Excel解析錯誤,請檢查格式、字段等信息。具體參考:https://dataease.io/docs/faq/dataset_faq/', origin_field_type: '原始類型', edit_excel_table: '編輯Excel數據集', edit_excel: '編輯Excel', diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index a11c5d2b01..b8ab2d72a9 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -848,7 +848,7 @@ export default { edit_field: '编辑字段', preview_100_data: '显示前100行数据', invalid_table_check: '非直连数据集请先完成数据同步', - parse_error: 'Excel解析错误,请检查格式、字段等信息', + parse_error: 'Excel解析错误,请检查格式、字段等信息。具体参考:https://dataease.io/docs/faq/dataset_faq/', origin_field_type: '原始类型', edit_excel_table: '编辑Excel数据集', edit_excel: '编辑Excel',