首页 > 解决方案 > 如何使用 Apache POI 删除包含特定字符串的 docx 中的特定段落

问题描述

我正在尝试使用 Apache POI 删除包含特定字符串的文档的特定段落。我在这里的第二个答案中找到了一段代码:

https://stackoverflow.com/a/44326734/8504176

FileInputStream fis = new FileInputStream(fileName);
XWPFDocument doc = new XWPFDocument(fis);
fis.close();
// Find a paragraph with todelete text inside
XWPFParagraph toDelete = doc.getParagraphs().stream().filter(p -> StringUtils.equalsIgnoreCase("todelete", p.getParagraphText()))
        .findFirst().orElse(null);
if (toDelete != null) 
  {
    doc.removeBodyElement(doc.getPosOfParagraph(toDelete));
    OutputStream fos = new FileOutputStream(fileName);
    doc.write(fos);
    fos.close();
 }

但是 equalsIgnoreCase() 抛出一个错误,我没有得到它:

线程“主”java.lang.RuntimeException 中的异常:无法编译的源代码 - 错误的符号类型:com.sun.xml.internal.ws.util.StringUtils.equalsIgnoreCase

如何解决这个问题?提前致谢

标签: javaapache-poi

解决方案


推荐阅读