If the cell has no paragraph, call XWPFTableCell.setText() , then call XWPFTableCell.getText(), the result is empty.
Can you provide some self-sufficient source code which reproduces this problem so it is easier for others to take a look?
(In reply to Dominik Stadler from comment #1) > Can you provide some self-sufficient source code which reproduces this > problem so it is easier for others to take a look? XWPFDocument doc = new XWPFDocument(); XWPFTable table = doc.createTable(1, 1); XWPFTableRow row = table.getRow(0); XWPFTableCell cell = row.getCell(0); String expected = "this must not be empty"; cell.setText(expected); String actual = cell.getText(); //actual is empty Assert.assertEquals(expected, actual); //under code work well XWPFParagraph p; if (cell.getParagraphs() == null || cell.getParagraphs().size() == 0) { p = cell.addParagraph(); } else { p = cell.getParagraphArray(0); } p.createRun().setText(text, 0);
Method setText() does not add new paragraph to "paragraphs" list, while getText() uses info from "paragraphs" only. public void setText(String text) { CTP ctP = (ctTc.sizeOfPArray() == 0) ? ctTc.addNewP() : ctTc.getPArray(0); XWPFParagraph par = new XWPFParagraph(ctP, this); par.createRun().setText(text); } public String getText() { StringBuilder text = new StringBuilder(); for (XWPFParagraph p : paragraphs) { text.append(p.getText()); } return text.toString(); } I think new line is needed in line 433: paragraphs.add(par);
Hi iseletkov, Alain Bearez appears to have added a fix on March 27th. Could you try the latest POI code?
I did a quick test and it seems to be fixed now, therefore closing this for now.