次のコードは、.docx ドキュメントのパスを取得し、それを調べて、すべてのテーブルのすべてのセルの内容を出力します。
public void parse(String path) throws IOException {
FileInputStream fis = new FileInputStream(path);
XWPFDocument ex = new XWPFDocument(fis);
XWPFWordExtractor extractor = new XWPFWordExtractor(ex);
List<IBodyElement> docIter = ex.getBodyElements();
Iterator<IBodyElement> iter = docIter.iterator();
for (IBdyElement iBodyElement2 : docIter) {
if (iBodyElement2 instanceof XWPFTable) {
XWPFTable table = (XWPFTable) iBodyElement2;
for (int i = 0; i < table.getNumberOfRows(); i++) {
XWPFTableRow row = table.getRow(i);
List<XWPFTableCell> rowcells = row.getTableCells();
for (XWPFTableCell xwpfTableCell : rowcells) {
System.out.print(xwpfTableCell.getText());
}
}
}
}
テーブルを含む .docx ドキュメントでこのコードを実行すると、改行なしでセルから文字列が出力されます。たとえば、セルに「Foo
Bar」という文字列が入力されている場合、「FooBar」と出力されます。これは私にとって大きな問題です。
改行を保持するセルを読み取る方法はありますか?