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 4b13db735a..4497013a31 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -946,6 +946,12 @@ public class DataSetTableService { } String[] fieldArray = fields.stream().map(TableFiled::getFieldName).toArray(String[]::new); + + // 校验excel字段是否重名 + if (checkIsRepeat(fieldArray)) { + DataEaseException.throwException(Translator.get("i18n_excel_field_repeat")); + } + if (CollectionUtils.isNotEmpty(data)) { jsonArray = data.stream().map(ele -> { Map map = new HashMap<>(); @@ -1087,4 +1093,19 @@ public class DataSetTableService { } } + + /* + * 判断数组中是否有重复的值 + */ + public static boolean checkIsRepeat(String[] array) { + HashSet hashSet = new HashSet(); + for (int i = 0; i < array.length; i++) { + hashSet.add(array[i]); + } + if (hashSet.size() == array.length) { + return false; + } else { + return true; + } + } } diff --git a/frontend/src/views/dataset/add/AddExcel.vue b/frontend/src/views/dataset/add/AddExcel.vue index 1405edcd4e..434abebf60 100644 --- a/frontend/src/views/dataset/add/AddExcel.vue +++ b/frontend/src/views/dataset/add/AddExcel.vue @@ -132,6 +132,14 @@ export default { this.uploading = true }, uploadFail(response, file, fileList) { + this.path = '' + this.fields = [] + this.sheets = [] + this.data = [] + const datas = this.data + this.$refs.plxTable.reloadData(datas) + this.name = '' + this.fileList = [] this.uploading = false this.$message({ type: 'error',