From ad58ba3d20b080ef113cbd196000028f83308bb3 Mon Sep 17 00:00:00 2001 From: wzp <2040239371@qq.com> Date: 星期三, 31 一月 2024 11:59:09 +0800 Subject: [PATCH] 多表要按sheet名获取数据,多表每次读取随机修正 --- src/main/java/com/ots/project/tool/report/APIFan/chart/APIFanChart.java | 30 ++++++++++++++++++------------ src/main/java/com/ots/common/utils/poi/WordUtil.java | 7 ++++++- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/ots/common/utils/poi/WordUtil.java b/src/main/java/com/ots/common/utils/poi/WordUtil.java index c5010c7..549121a 100644 --- a/src/main/java/com/ots/common/utils/poi/WordUtil.java +++ b/src/main/java/com/ots/common/utils/poi/WordUtil.java @@ -18,6 +18,7 @@ import com.ots.project.tool.exam.ImageUtil; import com.ots.project.tool.exam.ZipUtil; import com.ots.project.tool.libreoffice.LibreOfficeUtil; +import com.ots.project.tool.report.APIFan.chart.APIFanChart; import com.ots.project.tool.report.CIAQ.chart.CIAQChart; import com.ots.project.tool.report.LAQ.chart.LAQChart; import com.ots.project.tool.report.MAQTR.chart.MAQTRChart; @@ -1434,7 +1435,11 @@ CIAQChart.changeChart(document, textMap); } else if (StringUtils.equals(reportType, ReportTypeEnum.LAQ.getCode())) { LAQChart.changeChart(document, textMap); - } else { + } else if(StringUtils.equals(reportType, ReportTypeEnum.APIFan.getCode())) + { + APIFanChart.changeChart(document,textMap); + } + else { return; } }catch (Exception e){ diff --git a/src/main/java/com/ots/project/tool/report/APIFan/chart/APIFanChart.java b/src/main/java/com/ots/project/tool/report/APIFan/chart/APIFanChart.java index 46fdc78..53d0875 100644 --- a/src/main/java/com/ots/project/tool/report/APIFan/chart/APIFanChart.java +++ b/src/main/java/com/ots/project/tool/report/APIFan/chart/APIFanChart.java @@ -40,7 +40,7 @@ //鑷垜璁ょ煡鍑嗙‘搴� private static String p_sdecepT1; - private static String p_sdecept10; + private static String p_sdecep10; //鑷垜闃愯堪鐨勭湡瀹炲害 private static String p_impmgT1; private static String p_impmg11; @@ -66,7 +66,7 @@ textMap.put("P_Emotct07","60"); textMap.put("P_Stress08","61"); textMap.put("P_SdecepT1","62"); - textMap.put("P_Sdecept10","63"); + textMap.put("P_Sdecep10","63"); textMap.put("P_ImpmgT1","64"); textMap.put("P_Impmg11","65"); textMap.put("BST1","66"); @@ -91,7 +91,7 @@ return false; } //鍥捐〃鏁版嵁 - changePAQChart(document,seriesDatas); + changeAPIFanChart(document,seriesDatas); return true; } @@ -129,14 +129,14 @@ p_stress08 = (String) textMap.get("P_Stress08"); p_sdecepT1 = (String) textMap.get("P_SdecepT1"); - p_sdecept10 = (String) textMap.get("P_Sdecept10"); + p_sdecep10 = (String) textMap.get("P_Sdecep10"); p_impmgT1 = (String) textMap.get("P_ImpmgT1"); p_impmg11 = (String) textMap.get("P_Impmg11"); bst1 = (String) textMap.get("BST1"); bst2 = (String) textMap.get("BST2"); String[] paramValue = new String[]{p_total, p_retent09, p_social01,p_cooper02,p_analth03,p_initia04, - p_persis05,p_depend06,p_emotct07,p_stress08,p_sdecepT1, p_sdecept10,p_impmgT1,p_impmg11,bst1,bst2}; + p_persis05,p_depend06,p_emotct07,p_stress08,p_sdecepT1, p_sdecep10,p_impmgT1,p_impmg11,bst1,bst2}; //鍒ゆ柇鏄惁涓虹┖ if (checkParamsIsNull(paramValue)) @@ -157,7 +157,7 @@ Double P_Emotct07 = Double.valueOf(p_emotct07); Double P_Stress08 = Double.valueOf(p_stress08); Double P_SdecepT1 = Double.valueOf(p_sdecepT1); - Double P_Sdecept10 = Double.valueOf(p_sdecept10); + Double P_Sdecep10 = Double.valueOf(p_sdecep10); Double P_ImpmgT1 = Double.valueOf(p_impmgT1); Double P_Impmg11 = Double.valueOf(p_impmg11); Double BST1 = Double.valueOf(bst1); @@ -179,7 +179,7 @@ )), new SeriesData("鑷垜璁ょ煡鐨勫噯纭害", Arrays.asList( - new RowData("鑷垜璁ょ煡鐨勫噯纭害", P_Sdecept10),//椤哄簭瑕佸�掔疆 + new RowData("鑷垜璁ょ煡鐨勫噯纭害", P_Sdecep10),//椤哄簭瑕佸�掔疆 new RowData("鑷垜璁ょ煡鐨勫噯纭害", P_SdecepT1)//椤哄簭瑕佸�掔疆 )), @@ -204,7 +204,7 @@ * @param doc * @param seriesDatas */ - public static void changePAQChart(XWPFDocument doc,List<SeriesData> seriesDatas) { + public static void changeAPIFanChart(XWPFDocument doc,List<SeriesData> seriesDatas) { try { //鍔ㄦ�佸埛鏂板浘琛� List<POIXMLDocumentPart> relations = doc.getRelations(); @@ -219,24 +219,30 @@ // excel鍐呯疆琛ㄦ牸 XSSFWorkbook workbook = chart.getWorkbook(); XSSFSheet sheet = workbook.getSheetAt(0); - + String sheetName = sheet.getSheetName(); //鏌卞舰鍥� if (!plot.getBarChartList().isEmpty()) { CTBarChart barChart = plot.getBarChartArray(0); //鍒锋柊鍐呯疆excel鏁版嵁 List<SeriesData> excelData = new ArrayList<>(); - excelData.add(seriesDatas.get(k)); + //excelData.add(seriesDatas.get(k)); + //閫氳繃sheetName鏉ヨВ鍐冲尮閰嶅琛ㄧ殑闂 + SeriesData seriesData = seriesDatas.stream() + .filter(item -> item.getName().equals(sheetName)) + .findFirst() + .orElse(null); + excelData.add(seriesData); refreshExcel(excelData, workbook, sheet); workbook.write(chart.getPackagePart().getOutputStream()); //鏌卞舰鍥炬暟鎹簮 - List<SeriesData> barDatas = seriesDatas; +// List<SeriesData> barDatas = seriesDatas; int i = 0; for (CTBarSer ser : barChart.getSerList()) { //鏇存柊鏌卞舰鍥炬暟鎹紦瀛� - updateBarChart(barDatas.get(k), ser.getVal()); + updateBarChart(seriesData, ser.getVal()); ++i; } -- Gitblit v1.9.1