2017-03-06 9 views
0

私は、Word文書に存在するコンテンツを追加するためのコードの下に使用して試してみました:テキストの場合は、追加のJavaコードでWord文書(.docxの)には起きていない

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.ポイ3.12 2.ポイ-ooxml-3.10.1 3ポイ-スクラッチパッド-3.15 4. OOXML-スキーマ-1.1 5のXMLBeans-2.3.0 6. DOM4J-1.1

これを回避するためのソリューション何ができるか、この&の理由は何ですか?

+0

をたぶんあなたは、ドキュメントを閉じるのを忘れているのでXWPFRunのAddPicture関数メソッドを使用します。 doc.close()書き込み – gvlachakis

答えて

2

Apache POIを使用してファイルを開いていないためです。

XWPFDocumentを使用して、文書という単語を開いてデータを追加します。 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(); 
     } 

あなたが画像を追加したい場合は - ここに参照してください - - Apache POI XWPFRun Add Picture

+0

'doc.commit()の後に、' - > 'エラー:コミット()は、XWPFDocument' –

+0

@AxelRichterに注目してくれてありがとうへのアクセスを保護していた、私はたFileOutputStreamを使用して保存するために、それを編集しました。 –

+0

ありがとうございます。それはテキストのために働いていますが、私は任意の画像を追加しようとしている間、同じエラーが発生しています。新しいファイルのサイズは増加しますが。入力をお願いしますか? –

関連する問題