对于Text,Java Code中的word doc(.docx)中没有发生追加

时间:2017-03-06 13:44:29

标签: java apache-poi

我尝试使用以下代码附加word doc中的内容:

    XWPFDocument doc=new XWPFDocument();
    XWPFParagraph para=doc.createParagraph();
    XWPFRun run=para.createRun();
    File f=new File("Text.docx");
    FileOutputStream fos=new FileOutputStream(f, true);
    run.setText("Append The value please");
    doc.write(fos);

但是,在完成程序后,当我尝试打开文件时,它会说" 我们很抱歉。我们无法打开该文件。我们发现其内容存在问题" 。

我正在使用以下罐子: 1. Poi 3.12 2. Poi -ooxml-3.10.1 3. Poi-scratchpad-3.15 4. Ooxml-schemas-1.1 5. Xmlbeans-2.3.0 6. Dom4j-1.1

这个&的原因是什么?什么可以解决这个问题呢?

1 个答案:

答案 0 :(得分:2)

这是因为您没有使用Apache POI打开文件。

使用XWPFDocument打开word文档以附加数据。 Pfb代码。

 XWPFDocument doc = new XWPFDocument(OPCPackage.open(fileLocationPath + "Document.doc"));


    List<XWPFParagraph>  paragraphs = doc.getParagraphs();


    XWPFParagraph paragraph =  paragraphs.get(paragraphs.size() - 1);

    XWPFRun runText = paragraph.createRun();

//if you want to add text
    runText.setText("appending here");

//if you want to add image
    runText.addPicture(java.io.InputStream pictureData, int pictureType, java.lang.String filename, int width, int height)



    try (FileOutputStream out = new FileOutputStream(fileLocationPath + "Document.doc")) {
            doc.write(out);
        } catch (IOException e) {
            e.printStackTrace();
        }

如果你想添加图片 - 使用XWPFRun的addPicture方法 - 请参考这里 - Apache POI XWPFRun Add Picture