diff --git a/core/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/core/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index 7e52ef1a6d..73efecfc45 100644 --- a/core/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/core/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -2436,10 +2436,11 @@ public class DataSetTableService { }); data = (isPreview && noModelDataListener.getData().size() > 1000 ? new ArrayList<>(data.subList(0, 1000)) : data); if (isPreview) { - for (List datum : data) { - for (int i = 0; i < datum.size(); i++) { - if (i < fields.size()) { - cellType(datum.get(i), i, fields.get(i)); + for (int i = 0; i < data.size(); i++) { + List datum = data.get(i); + for (int j = 0; j < datum.size(); j++) { + if (j < fields.size()) { + cellType(datum.get(j), i, fields.get(j)); } } } diff --git a/core/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java b/core/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java index ea634adeb7..d8a0f693b1 100644 --- a/core/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java +++ b/core/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java @@ -223,7 +223,7 @@ public class ExtractDataService { for (DatasetTableField datasetTableField : datasetTableFields) { boolean add = true; for (DatasetTableField oldField : oldFields) { - if (oldField.getDataeaseName().equalsIgnoreCase(datasetTableField.getDataeaseName())) { + if (oldField.getDataeaseName().equalsIgnoreCase(datasetTableField.getDataeaseName()) && oldField.getType().equalsIgnoreCase(datasetTableField.getType())) { add = false; } }