2023年11月15日 修改导出换行数据会重复的问题

This commit is contained in:
bai 2023-11-15 02:11:03 +08:00
parent ef0cdebd16
commit 8b5c442fa6
3 changed files with 45 additions and 22 deletions

View File

@ -636,7 +636,9 @@ public class Export extends BaseExport {
// index[0] += mainList.size() + 2; // index[0] += mainList.size() + 2;
mainList.clear(); mainList.clear();
Map<String, Object> result2 = Maps.newHashMap();
//result2.put("教学楼数", "0");
int rowIndex = 1;
for (String key: twoListMap.keySet()){ for (String key: twoListMap.keySet()){
TwoListClass o = twoListMap.get(key); TwoListClass o = twoListMap.get(key);
List<String> list = Lists.newArrayList(); List<String> list = Lists.newArrayList();
@ -663,12 +665,12 @@ public class Export extends BaseExport {
// String ycl = getPercentageByAll(new BigDecimal(yccs),new BigDecimal(o.getKfkts())).toString(); // 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; // 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<String, TwoYcListClass> twoYcListClassMap = o.getYcMap(); Map<String, TwoYcListClass> twoYcListClassMap = o.getYcMap();
int i = 1; int i = 1;
List<TwoYcListClass> nextBlockList = twoYcListClassMap.values().stream().filter(x -> x.getYccs() !=0).collect(Collectors.toList()); List<TwoYcListClass> nextBlockList = twoYcListClassMap.values().stream().filter(x -> x.getYccs() !=0).collect(Collectors.toList());
for(TwoYcListClass twoYcListClass: nextBlockList){ for(TwoYcListClass twoYcListClass: nextBlockList){
sm.append(String.valueOf(i)); sm.append(i);
sm.append(".异常节次:"); sm.append(".异常节次:");
sm.append(twoYcListClass.getYcHh()); sm.append(twoYcListClass.getYcHh());
sm.append("("); sm.append("(");
@ -683,19 +685,23 @@ public class Export extends BaseExport {
sm.append(" 异常率:"); sm.append(" 异常率:");
//计算 //计算
sm.append(getPercentageByAll(new BigDecimal(twoYcListClass.getYccs()),new BigDecimal(twoYcListClass.getJccs()))); sm.append(getPercentageByAll(new BigDecimal(twoYcListClass.getYccs()),new BigDecimal(twoYcListClass.getJccs())));
sm.append("\n"); sm.append("\r\n");
i++; i++;
} }
if(nextBlockList.isEmpty()){ 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; // 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(o.getYcqksm());
list.add(sm.toString());
String listKey = "{" + rowIndex + "List}";
result2.put(rowIndex + "List",sm.toString());
list.add(listKey);
mainList.add(list); mainList.add(list);
rowIndex++;
} }
// List<String> list = Lists.newArrayList(); // List<String> list = Lists.newArrayList();
@ -712,6 +718,11 @@ public class Export extends BaseExport {
mainList.clear(); mainList.clear();
wo = WordOperator.twoReplaceWord(wo);
wo.replaceTextPlus(result2);
//第二列表 最后一行拼接 1.异常节次 异常课程 监测次数 异常次数 异常率 //第二列表 最后一行拼接 1.异常节次 异常课程 监测次数 异常次数 异常率
return wo; return wo;
} }

View File

@ -956,26 +956,38 @@ public class WordOperator {
// cell.setColor("FF0000"); // cell.setColor("FF0000");
// 无论一个单元格被切割成多少个run只需要修改第一个即可改完就return掉了 // 无论一个单元格被切割成多少个run只需要修改第一个即可改完就return掉了
List<XWPFParagraph> paragraphs = cell.getParagraphs(); List<XWPFParagraph> paragraphs = cell.getParagraphs();
for (XWPFParagraph p : paragraphs) { for (int i = 0; i< paragraphs.size();i++){
XWPFParagraph p = paragraphs.get(i);
List<XWPFRun> runs = p.getRuns(); List<XWPFRun> runs = p.getRuns();
//删除旧数据 //删除旧数据
for (int i = 0; i< runs.size(); i++){ for (int z = 0; z< runs.size();z++){
p.removeRun(i); XWPFRun run = runs.get(z);
} run.removeCarriageReturn();
XWPFRun r = p.createRun(); p.removeRun(z);
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);
} }
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);
}
} }
/** /**

View File

@ -47,8 +47,6 @@ Z
Z Z
Z Z
二、异常教室基本情况 二、异常教室基本情况
教学楼 教学楼
教室名称 教室名称