POI,一段话部分文字加下划线

用POI实现一段文字只有一部分加下划线, "字符串拼接" + new TextRenderData(split[i], style)

                    Style style = new Style();
                    style.setUnderLine(true);
                    map.put("attachment",  "字符串拼接" + new TextRenderData(split[i], style));

这样写为什么失效了 求告诉一种 可以实现部分文字加下划线

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    POI库可以用来操作Microsoft Office格式的文件,包括Word文档。在使用POI库的时候,我们可以使用XWPFRun对象来设置文本的样式和格式。

    在POI中,添加下划线样式可以通过设置UnderlinePatterns属性来实现。下面是具体的解决方案:

    // 创建一个XWPFDocument对象来代表一个Word文档
    XWPFDocument document = new XWPFDocument();
    
    // 创建一个XWPFParagraph对象来代表一个段落
    XWPFParagraph paragraph = document.createParagraph();
    
    // 创建一个新的Run对象
    XWPFRun run = paragraph.createRun();
    
    // 设置文本内容
    String text = "这是一段文字,部分文字需要添加下划线。";
    run.setText(text);
    
    // 遍历文本内容,找到需要添加下划线的部分
    String underlineText = "需要添加下划线";
    int startIndex = text.indexOf(underlineText);
    int endIndex = startIndex + underlineText.length();
    
    // 设置需要添加下划线的部分
    run.setText(text.substring(0, startIndex), 0);
    run.setText(underlineText, 1);
    run.setText(text.substring(endIndex), 0);
    
    // 设置下划线样式
    run.setUnderline(UnderlinePatterns.SINGLE);
    
    // 保存文档
    FileOutputStream out = new FileOutputStream("output.docx");
    document.write(out);
    out.close();
    document.close();
    

    以上是使用POI库实现在一段文字中对部分文字添加下划线的解决方案。具体步骤包括创建XWPFDocument对象表示文档、创建XWPFParagraph对象表示段落、创建XWPFRun对象表示文字运行、设置文本内容、找到需要添加下划线的部分、设置下划线样式、保存文档。代码注释中有详细的解释,希望能帮到您。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^