From a7512203591f8c96f09e802435f1cd6817353098 Mon Sep 17 00:00:00 2001 From: wisonic-s Date: Wed, 27 May 2026 19:07:47 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=9B=BE=E8=A1=A8):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E9=9A=90=E8=97=8F=E6=8C=87=E6=A0=87=E5=AD=97=E6=AE=B5=EF=BC=8C?= =?UTF-8?q?=E5=AF=BC=E5=87=BAExcel=E8=A1=A8=E6=A0=BC=E5=90=8E=EF=BC=8C?= =?UTF-8?q?=E6=8C=87=E6=A0=87=E5=90=8E=E7=9A=84=E7=BB=B4=E5=BA=A6=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E6=95=B0=E6=8D=AE=E4=BC=9A=E4=B8=8D=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/chart/server/ChartDataServer.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/core/core-backend/src/main/java/io/dataease/chart/server/ChartDataServer.java b/core/core-backend/src/main/java/io/dataease/chart/server/ChartDataServer.java index 7017f3adb8..c343bfef54 100644 --- a/core/core-backend/src/main/java/io/dataease/chart/server/ChartDataServer.java +++ b/core/core-backend/src/main/java/io/dataease/chart/server/ChartDataServer.java @@ -544,7 +544,8 @@ public class ChartDataServer implements ChartDataApi { cell.setCellValue(cellValObj.toString()); } } else { - if ((excelTypes[j].equals(DeTypeConstants.DE_INT) || excelTypes[j].equals(DeTypeConstants.DE_FLOAT)) && StringUtils.isNotEmpty(cellValObj.toString())) { + Integer excelType = getExcelType(j, excelTypes, exportFields, viewInfo); + if ((Objects.equals(excelType, DeTypeConstants.DE_INT) || Objects.equals(excelType, DeTypeConstants.DE_FLOAT)) && StringUtils.isNotEmpty(cellValObj.toString())) { cell.setCellValue(Double.valueOf(cellValObj.toString())); } else if (cellValObj != null) { cell.setCellValue(cellValObj.toString()); @@ -578,6 +579,15 @@ public class ChartDataServer implements ChartDataApi { } } + private static Integer getExcelType(int columnIndex, Integer[] excelTypes, List exportFields, ChartViewDTO viewInfo) { + if (viewInfo != null + && StringUtils.equalsAnyIgnoreCase(viewInfo.getType(), "table-info", "table-normal") + && columnIndex < exportFields.size()) { + return exportFields.get(columnIndex).getDeType(); + } + return ArrayUtils.isNotEmpty(excelTypes) && columnIndex < excelTypes.length ? excelTypes[columnIndex] : null; + } + public static List resolveExportFields(ChartViewDTO viewInfo, Object[] header) { List fields = new ArrayList<>(); if (viewInfo != null && viewInfo.getData() != null && viewInfo.getData().get("fields") != null) {