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;
mainList.clear();
Map<String, Object> result2 = Maps.newHashMap();
//result2.put("教学楼数", "0");
int rowIndex = 1;
for (String key: twoListMap.keySet()){
TwoListClass o = twoListMap.get(key);
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 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();
int i = 1;
List<TwoYcListClass> 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<String> list = Lists.newArrayList();
@ -712,6 +718,11 @@ public class Export extends BaseExport {
mainList.clear();
wo = WordOperator.twoReplaceWord(wo);
wo.replaceTextPlus(result2);
//第二列表 最后一行拼接 1.异常节次 异常课程 监测次数 异常次数 异常率
return wo;
}

View File

@ -956,26 +956,38 @@ public class WordOperator {
// cell.setColor("FF0000");
// 无论一个单元格被切割成多少个run只需要修改第一个即可改完就return掉了
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();
//删除旧数据
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);
}
}
/**

View File

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