我尝试使用以下代码附加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
这个&的原因是什么?什么可以解决这个问题呢?
答案 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