diff --git a/core/backend/src/main/java/io/dataease/service/chart/ChartViewService.java b/core/backend/src/main/java/io/dataease/service/chart/ChartViewService.java index 0b598755cf..e4cb0255b9 100644 --- a/core/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/core/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -1327,6 +1327,13 @@ public class ChartViewService { } else { data = resultCustomSort(xAxis, data); } + // 如果是表格导出查询 则在此处直接就可以返回 + if(chartExtRequest.getExcelExportFlag()){ + Map sourceInfo = new HashMap<>(); + sourceInfo.put("sourceData",data); + chartViewDTO.setData(sourceInfo); + return chartViewDTO; + } // 同比/环比计算,通过对比类型和数据设置,计算出对应指标的结果,然后替换结果data数组中的对应元素 // 如果因维度变化(如时间字段缺失,时间字段的展示格式变化)导致无法计算结果的,则结果data数组中的对应元素全置为null // 根据不同图表类型,获得需要替换的指标index array diff --git a/core/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java b/core/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java index 7a1b933dd0..55d49cf610 100644 --- a/core/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java +++ b/core/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java @@ -1210,7 +1210,6 @@ public class PanelGroupService { request.setDownloadType(viewInfo.getType()); if ("table-info".equals(viewInfo.getType())) { try { - List excelHeaderKeys = request.getExcelHeaderKeys(); ChartExtRequest componentFilterInfo = request.getComponentFilterInfo(); componentFilterInfo.setGoPage(1L); componentFilterInfo.setPageSize(limit); @@ -1218,16 +1217,8 @@ public class PanelGroupService { componentFilterInfo.setProxy(request.getProxy()); componentFilterInfo.setUser(request.getUserId()); ChartViewDTO chartViewInfo = chartViewService.getData(request.getViewId(), componentFilterInfo); - List tableRow = (List) chartViewInfo.getData().get("tableRow"); - List result = new ArrayList<>(); - for (Map detailMap : tableRow) { - List detailObj = new ArrayList<>(); - for (String key : excelHeaderKeys) { - detailObj.add(detailMap.get(key)); - } - result.add(detailObj.toArray()); - } - request.setDetails(result); + List tableRow = (List) chartViewInfo.getData().get("sourceData"); + request.setDetails(tableRow); } catch (Exception e) { throw new RuntimeException(e); }