ctshd.setFill(rgbStr);\r
}\r
\r
- /**\r
- * Get the vertical alignment of the cell.\r
- *\r
- * @return the cell alignment enum value\r
- */\r
- public XWPFVertAlign getVerticalAlignment() {\r
- XWPFVertAlign vAlign = null;\r
- CTTcPr tcpr = ctTc.getTcPr();\r
- if (tcpr != null) {\r
- CTVerticalJc va = tcpr.getVAlign();\r
- vAlign = stVertAlignTypeMap.get(va.getVal().intValue());\r
- }\r
- return vAlign;\r
- }\r
+ /**
+ * Get the vertical alignment of the cell.
+ *
+ * @return the cell alignment enum value or <code>null</code>
+ * if no vertical alignment is set.
+ */
+ public XWPFVertAlign getVerticalAlignment() {
+ XWPFVertAlign vAlign = null;
+ CTTcPr tcpr = ctTc.getTcPr();
+ if (tcpr != null) {
+ CTVerticalJc va = tcpr.getVAlign();
+ if (va != null && va.getVal() != null) {
+ vAlign = stVertAlignTypeMap.get(va.getVal().intValue());
+ }
+ }
+ return vAlign;
+ }
\r
/**\r
* Set the vertical alignment of the cell.\r
package org.apache.poi.xwpf.usermodel;
+import java.util.List;
+
import junit.framework.TestCase;
+import org.apache.poi.xwpf.XWPFTestDataSamples;
import org.apache.poi.xwpf.usermodel.XWPFTableCell.XWPFVertAlign;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTHMerge;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTShd;
CTTcBorders tblBorders = tcPr.addNewTcBorders();
CTVMerge vMerge = tcPr.addNewVMerge();
}
+
+ public void testCellVerticalAlign() throws Exception{
+ XWPFDocument docx = XWPFTestDataSamples.openSampleDocument("59030.docx");
+ List<XWPFTable> tables = docx.getTables();
+ assertEquals(1, tables.size());
+
+ XWPFTable table = tables.get(0);
+
+ List<XWPFTableRow> tableRows = table.getRows();
+ assertEquals(2, tableRows.size());
+
+ assertNull(tableRows.get(0).getCell(0).getVerticalAlignment());
+ assertEquals(XWPFVertAlign.BOTTOM, tableRows.get(0).getCell(1).getVerticalAlignment());
+ assertEquals(XWPFVertAlign.CENTER, tableRows.get(1).getCell(0).getVerticalAlignment());
+ assertNull(tableRows.get(1).getCell(1).getVerticalAlignment());
+ }
}