相关疑难解决方法(0)

替换Apache POI XWPF中的文本

我刚刚发现Apache POI库对于使用Java编辑Word文件非常有用.具体来说,我想使用Apache POI的XWPF类编辑DOCX文件.我发现没有适当的方法/文档,我可以这样做.有人可以分步说明,如何替换DOCX文件中的一些文本.

**文本可以在行/段落或表格行/列中

提前致谢 :)

java ms-word apache-poi xwpf

37
推荐指数
7
解决办法
5万
查看次数

docx4j不替换变量

我刚刚在docx4j 2.8.1 的VariableReplace示例中遵循No 2方法,它所做的一切就是删除变量标记$ {}.

我做的步骤:

  • 打开Word 2013,仅键入$ {variable}作为文本
  • 把它保存到某个地方
  • 在我的Java程序中读取它并使用.put("variable","TEST")构建我的HashMap;
  • 从上面的示例中复制并粘贴其他代码.
  • 保存了文件

我只期望'TEST',并且在输出文档中没有标记的情况下获得'变量'.

docx4j

10
推荐指数
1
解决办法
4678
查看次数

Apache POI XWPFRun对象中的单独文本行

我正在尝试通过使用类将模板DOCX文档替换为Apache 。我在文档中有标签,并有一个文件来读取替换数据。我的问题是,当我将其扩展名更改为file并打开时,文本行似乎以某种方式分开。例如,文本变成和分开。读取方式与此相同,因为原始格式是这样的。这将在段落中创建2个对象,分别显示和。POIXWPFDocumentJSONDOCXZIPdocument.xml[MEMBER_CONTACT_INFO][MEMBER_CONTACT_INFO]POIDOCXXWPFRun[MEMBER_CONTACT_INFO]

我的问题是,是否有一种方法可以POI通过合并相关运行或类似方法来强制运行像Word一样的运行?或者我该如何解决这个问题?我在替换时匹配运行文本,但找不到标签,因为它被分成2个不同的运行对象。

最好

apache-poi

4
推荐指数
2
解决办法
2590
查看次数

docx4j找到并替换

我有一些占位符的docx文档.现在我应该用其他内容替换它们并保存新的docx文档.我从docx4j开始,发现了这个方法:

public static List<Object> getAllElementFromObject(Object obj, Class<?> toSearch) {
    List<Object> result = new ArrayList<Object>();
    if (obj instanceof JAXBElement) obj = ((JAXBElement<?>) obj).getValue();

    if (obj.getClass().equals(toSearch))
        result.add(obj);
    else if (obj instanceof ContentAccessor) {
        List<?> children = ((ContentAccessor) obj).getContent();
        for (Object child : children) {
            result.addAll(getAllElementFromObject(child, toSearch));
        }
    }
    return result;
}

public static void findAndReplace(WordprocessingMLPackage doc, String toFind, String replacer){
    List<Object> paragraphs = getAllElementFromObject(doc.getMainDocumentPart(), P.class);
    for(Object par : paragraphs){
        P p = (P) par;
        List<Object> texts = getAllElementFromObject(p, Text.class);
        for(Object …
Run Code Online (Sandbox Code Playgroud)

java docx docx4j

2
推荐指数
3
解决办法
1万
查看次数

标签 统计

apache-poi ×2

docx4j ×2

java ×2

docx ×1

ms-word ×1

xwpf ×1