2011-09-19 40 views
12

誰かがこれを経験しているかもしれないと願っています。私はApache POI 3.8b4を使ってWord 2007形式の表を出力しています。私は次のように何かをするとき:Java Apache POI改行文字は、XWPFTableセルに書き込むときに無視されます。

XWPFTableRow row = table.getRow(0); 
String text = "A\nB\nC\nD"; 
row.getCell(i).setText(text); 

を私の改行は表のセル内の出力で無視されているのすべてが

A B C D 

のように見える誰もが適切にそれを得るためにどのように任意のアイデアを持っていますディスプレイとして

A 
B 
C 
D 

編集: ソリューションは、以下ました。

XWPFParagraph para = row.getCell(i).getParagraphs().get(0); 
for(String text : myStrings){ 
    XWPFRun run = para.createRun(); 
    run.setText(text.trim()); 
    run.addBreak(); 
} 
+0

あなたは/ R/Nを試みたことがありますか?またはSystem.properties( "line.separator")? –

+0

私がこれを誤解しない限り、あなたは行内に細胞を追加しているので、それらは隣接する4つの細胞にあります。あなたがしようとしていることについては、各文字の新しい行を作成する必要があります。 – CoolBeans

+0

Wordで同じことを行うと、そのXMLに対してどのようなXMLが生成されますか?それはちょうど文字通りの改行をしますか、それともセル内の複数の段落のような気がしますか? – Gagravarr

答えて

1

複数の段落を追加しようとしましたか?

Add Paragraph

+0

私は実際にソフトブレークを望んでいたので、既存の段落を取得し、実行を追加してから、実行にブレークを追加する必要がありましたが、基本的には正しいパスになりました。 – ratherOCD

0

この方法を試してみてください:

XWPFParagraph paragraph = document.createParagraph(); 
XWPFRun run=paragraph.createRun(); 
run.setText("A"); 
run.addBreak(); 
run.setText("B"); 
run.addBreak(); 
run.setText("C"); 
document.write(OutPutFilePath); 
関連する問題