diff --git a/core/core-backend/src/main/java/io/dataease/dataset/utils/FieldUtils.java b/core/core-backend/src/main/java/io/dataease/dataset/utils/FieldUtils.java index a4fb50b877..c6f84f2971 100644 --- a/core/core-backend/src/main/java/io/dataease/dataset/utils/FieldUtils.java +++ b/core/core-backend/src/main/java/io/dataease/dataset/utils/FieldUtils.java @@ -14,6 +14,22 @@ public class FieldUtils { List num = Arrays.asList("INT", "SMALLINT", "MEDIUMINT", "INTEGER", "BIGINT", "LONG", "INT2", "INT4", "INT8", "int2", "int4", "int8", "INT16", "INT32", "INT64", "UINT8", "UINT16", "UINT32", "UINT64"); List doubleList = Arrays.asList("NUMBER", "FLOAT", "DOUBLE", "DECIMAL", "REAL", "MONEY", "NUMERIC", "float4", "float8", "FLOAT4", "FLOAT8", "DECFLOAT", "FLOAT32", "FLOAT64"); List boolType = Arrays.asList("BIT", "TINYINT"); + if (boolType.contains(type)) { + return 4;// 布尔 + } + if (doubleList.contains(type)) { + return 3;// 浮点 + } + if (num.contains(type)) { + return 2;// 整型 + } + if (time.contains(type)) { + return 1;// 时间 + } + if (text.contains(type)) { + return 0;// 文本 + } + if (boolType.stream().anyMatch(l -> type.contains(l))) { return 4;// 布尔 } diff --git a/core/core-backend/src/main/java/io/dataease/exportCenter/manage/ExportCenterManage.java b/core/core-backend/src/main/java/io/dataease/exportCenter/manage/ExportCenterManage.java index e8ac757db9..61e95591d2 100644 --- a/core/core-backend/src/main/java/io/dataease/exportCenter/manage/ExportCenterManage.java +++ b/core/core-backend/src/main/java/io/dataease/exportCenter/manage/ExportCenterManage.java @@ -96,7 +96,7 @@ public class ExportCenterManage implements BaseExportApi { @Value("${dataease.export.max.size:10}") private int max; - @Value("${dataease.export.dataset.limit:20}") + @Value("${dataease.export.dataset.limit:100000}") private int limit; private final static String DATA_URL_TITLE = "data:image/jpeg;base64,"; private static final String exportData_path = "/opt/dataease2.0/data/exportData/"; @@ -506,9 +506,10 @@ public class ExportCenterManage implements BaseExportApi { Workbook wb = new SXSSFWorkbook(); FileOutputStream fileOutputStream = new FileOutputStream(dataPath + "/" + request.getFilename() + ".xlsx"); Sheet detailsSheet = wb.createSheet("数据"); + List> details = new ArrayList<>(); for (Integer p = 0; p < totalPage; p++) { - String querySQL = SQLProvider.createQuerySQLWithLimit(sqlMeta, false, needOrder, false, p * extractPageSize, p * extractPageSize + extractPageSize); + String querySQL = SQLProvider.createQuerySQLWithLimit(sqlMeta, false, needOrder, false, p * extractPageSize + extractPageSize, extractPageSize); if (totalPage == 1) { querySQL = SQLProvider.createQuerySQLWithLimit(sqlMeta, false, needOrder, false, 0, totalCount.intValue()); } @@ -530,7 +531,7 @@ public class ExportCenterManage implements BaseExportApi { for (DatasetTableFieldDTO field : allFields) { header.add(field.getName()); } - List> details = new ArrayList<>(); + details.add(header); for (Map obj : data) { List row = new ArrayList<>(); @@ -559,7 +560,7 @@ public class ExportCenterManage implements BaseExportApi { } } } else { - List> details = new ArrayList<>(); + details.clear(); for (Map obj : data) { List row = new ArrayList<>(); for (DatasetTableFieldDTO field : allFields) {