From 8b5c442fa664af2395908679ecf79e7c1b3f1fd7 Mon Sep 17 00:00:00 2001 From: bai <1643359946@qq.com> Date: Wed, 15 Nov 2023 02:11:03 +0800 Subject: [PATCH] =?UTF-8?q?2023=E5=B9=B411=E6=9C=8815=E6=97=A5=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=AF=BC=E5=87=BA=E6=8D=A2=E8=A1=8C=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=BC=9A=E9=87=8D=E5=A4=8D=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/kc/jiaoshi/export/Export.java | 23 ++++++--- .../modules/tools/word/WordOperator.java | 44 +++++++++++------- .../officetemplates/exp1/zhjs-tjfxbg.docx | Bin 22505 -> 23778 bytes 3 files changed, 45 insertions(+), 22 deletions(-) diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/export/Export.java b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/export/Export.java index 664f0ae3..ffd37a1f 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/export/Export.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/kc/jiaoshi/export/Export.java @@ -636,7 +636,9 @@ public class Export extends BaseExport { // index[0] += mainList.size() + 2; mainList.clear(); - + Map result2 = Maps.newHashMap(); + //result2.put("教学楼数", "0"); + int rowIndex = 1; for (String key: twoListMap.keySet()){ TwoListClass o = twoListMap.get(key); List list = Lists.newArrayList(); @@ -663,12 +665,12 @@ public class Export extends BaseExport { // String ycl = getPercentageByAll(new BigDecimal(yccs),new BigDecimal(o.getKfkts())).toString(); // String sm = "1.异常节次:"+ArrayUtil.join(o.getYcHhList().toArray(new String[]{}),",")+" 异常课程:"+ArrayUtil.join(o.getYcKcmcList().toArray(new String[]{}),",")+" 监测次数:"+jccs+" 异常次数:"+yccs+" 异常率:"+ycl; - StringBuffer sm = new StringBuffer(); + StringBuilder sm = new StringBuilder(); Map twoYcListClassMap = o.getYcMap(); int i = 1; List nextBlockList = twoYcListClassMap.values().stream().filter(x -> x.getYccs() !=0).collect(Collectors.toList()); for(TwoYcListClass twoYcListClass: nextBlockList){ - sm.append(String.valueOf(i)); + sm.append(i); sm.append(".异常节次:"); sm.append(twoYcListClass.getYcHh()); sm.append("("); @@ -683,19 +685,23 @@ public class Export extends BaseExport { sm.append(" 异常率:"); //计算! sm.append(getPercentageByAll(new BigDecimal(twoYcListClass.getYccs()),new BigDecimal(twoYcListClass.getJccs()))); - sm.append("\n"); + sm.append("\r\n"); i++; } if(nextBlockList.isEmpty()){ - sm.append(" \n "); + sm.append("\r\n"); } // String sm = "1.异常节次:"+ArrayUtil.join(o.getYcHhList().toArray(new String[]{}),",")+" 异常课程:"+ArrayUtil.join(o.getYcKcmcList().toArray(new String[]{}),",")+" 监测次数:"+jccs+" 异常次数:"+yccs+" 异常率:"+ycl; //list.add(o.getYcqksm()); - list.add(sm.toString()); + + String listKey = "{" + rowIndex + "List}"; + result2.put(rowIndex + "List",sm.toString()); + list.add(listKey); mainList.add(list); + rowIndex++; } // List list = Lists.newArrayList(); @@ -712,6 +718,11 @@ public class Export extends BaseExport { mainList.clear(); + + wo = WordOperator.twoReplaceWord(wo); + + wo.replaceTextPlus(result2); + //第二列表 最后一行拼接 1.异常节次: 异常课程: 监测次数: 异常次数: 异常率 return wo; } diff --git a/jeecg-module-main/src/main/java/org/jeecg/modules/tools/word/WordOperator.java b/jeecg-module-main/src/main/java/org/jeecg/modules/tools/word/WordOperator.java index 420dad08..3486d20c 100644 --- a/jeecg-module-main/src/main/java/org/jeecg/modules/tools/word/WordOperator.java +++ b/jeecg-module-main/src/main/java/org/jeecg/modules/tools/word/WordOperator.java @@ -956,26 +956,38 @@ public class WordOperator { // cell.setColor("FF0000"); // 无论一个单元格被切割成多少个run,只需要修改第一个即可,改完就return掉了 List paragraphs = cell.getParagraphs(); - for (XWPFParagraph p : paragraphs) { + for (int i = 0; i< paragraphs.size();i++){ + XWPFParagraph p = paragraphs.get(i); List runs = p.getRuns(); //删除旧数据 - for (int i = 0; i< runs.size(); i++){ - p.removeRun(i); - } - XWPFRun r = p.createRun(); - try { - String allText = colList.get(j); - String[] texts = StringUtils.split(allText, "\n"); - for(String text: texts){ - r.setText(text); - r.addCarriageReturn(); - } - //染上背景色 -// r.getCTR().addNewRPr().addNewHighlight().setVal(STHighlightColor.YELLOW); - } catch (Exception e) { - r.setText("", 0); + for (int z = 0; z< runs.size();z++){ + XWPFRun run = runs.get(z); + run.removeCarriageReturn(); + p.removeRun(z); } + cell.removeParagraph(i); } + XWPFParagraph p = cell.addParagraph(); + XWPFRun r = p.createRun(); + try { + String allText = colList.get(j); + if(StringUtils.equals(allText," \n ")){ + return; + } + String[] texts = StringUtils.split(allText, "\n"); + + + for (int i = 0; i < texts.length; i++) { + String text = texts[i]; + r.setText(text,i); + r.addCarriageReturn(); + } + //染上背景色 +// r.getCTR().addNewRPr().addNewHighlight().setVal(STHighlightColor.YELLOW); + } catch (Exception e) { + r.setText("", 0); + } + } /** diff --git a/jeecg-module-main/src/main/resources/officetemplates/exp1/zhjs-tjfxbg.docx b/jeecg-module-main/src/main/resources/officetemplates/exp1/zhjs-tjfxbg.docx index fde94d29d85daa052dc8d24636805d77b88eac12..d320935ccae1b30b0c09dd1bd20b0fa7c3705106 100644 GIT binary patch delta 10079 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