package com.ruoyi.inspect.util; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import org.apache.poi.xwpf.usermodel.XWPFRun; import org.apache.poi.xwpf.usermodel.XWPFTable; import org.apache.poi.xwpf.usermodel.XWPFTableCell; import org.apache.poi.xwpf.usermodel.XWPFTableRow; /** 报告结果表序号使用普通文字,避免渲染时产生默认下划线。 */ public class ReportResultTableRenderPolicy extends HackLoopTableRenderPolicy { public ReportResultTableRenderPolicy() { super(true); } @Override protected void afterloop(XWPFTable table, Object data) { for (XWPFTableRow row : table.getRows()) { XWPFTableCell cell = row.getCell(0); if (cell == null || !cell.getText().trim().matches("\\d+")) { continue; } for (XWPFParagraph paragraph : cell.getParagraphs()) { for (XWPFRun run : paragraph.getRuns()) { if (run.getCTR().isSetRPr()) { while (run.getCTR().getRPr().sizeOfUArray() > 0) { run.getCTR().getRPr().removeU(0); } } } } } } }