Моя таблица выглядит следующим образом: Таблица POI для слов
Как видно, текст выравнивается по верху ячейки. Я хочу, чтобы он был центрирован по вертикали или выровнен по низу ячейки. Я пытался добиться этого с помощью cell.setVerticalAlignment(XWPFVertAlign.CENTER);
, но это ничего не меняет. Мне удалось добавить поля в ячейках с помощью table.setCellMargin (). Это добавило поле сверху ячейки, но пустое пространство под текстом делает ячейку слишком большой. Может быть, есть ли способ, чтобы ширина ячейки соответствовала высоте текста? Мой предполагаемый результат будет выглядеть так: желаемый результат
А вот часть моего кода: `
XWPFTable table = document.createTable();
CTTblWidth tableIndentation = table.getCTTbl().getTblPr().addNewTblInd();
tableIndentation.setW(BigInteger.valueOf(720));
tableIndentation.setType(STTblWidth.DXA);
XWPFTableRow tableRowOne = table.getRow(0);
XWPFParagraph paragraphTable = tableRowOne.getCell(0).addParagraph();
table.setCellMargins(0, 50, 0, 0);
XWPFRun runT = paragraphTable.createRun();
runT.setBold(true);
runT.setColor("ffffff");
runT.setText("REFERENCE ACTIVITIES PROVIDED: " + String.valueOf(def.format(c.getEarnedSum())) + " POINTS EARNED");
runT = tableRowOne.addNewTableCell().addParagraph().createRun();
runT = tableRowOne.addNewTableCell().addParagraph().createRun();
tableRowOne.getCell(0).getCTTc().addNewTcPr().addNewShd().setFill("8dc63f");
tableRowOne.getCell(1).getCTTc().addNewTcPr().addNewShd().setFill("8dc63f");
tableRowOne.getCell(2).getCTTc().addNewTcPr().addNewShd().setFill("8dc63f");
tableRowOne.getCell(0).removeParagraph(0);
tableRowOne.getCell(1).removeParagraph(0);
tableRowOne.getCell(2).removeParagraph(0);`