Search in sources :

Example 36 with CTBorder

use of org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder in project poi by apache.

the class TestXSSFCellStyle method testGetSetTopBorderColor.

@Test
public void testGetSetTopBorderColor() {
    //defaults
    assertEquals(IndexedColors.BLACK.getIndex(), cellStyle.getTopBorderColor());
    assertNull(cellStyle.getTopBorderXSSFColor());
    int num = stylesTable.getBorders().size();
    XSSFColor clr;
    //setting indexed color
    cellStyle.setTopBorderColor(IndexedColors.BLUE_GREY.getIndex());
    assertEquals(IndexedColors.BLUE_GREY.getIndex(), cellStyle.getTopBorderColor());
    clr = cellStyle.getTopBorderXSSFColor();
    assertTrue(clr.getCTColor().isSetIndexed());
    assertEquals(IndexedColors.BLUE_GREY.getIndex(), clr.getIndexed());
    //a new border was added to the styles table
    assertEquals(num + 1, stylesTable.getBorders().size());
    //id of the created border
    int borderId = (int) cellStyle.getCoreXf().getBorderId();
    assertTrue(borderId > 0);
    //check changes in the underlying xml bean
    CTBorder ctBorder = stylesTable.getBorderAt(borderId).getCTBorder();
    assertEquals(IndexedColors.BLUE_GREY.getIndex(), ctBorder.getTop().getColor().getIndexed());
    //setting XSSFColor
    num = stylesTable.getBorders().size();
    clr = new XSSFColor(java.awt.Color.CYAN);
    cellStyle.setTopBorderColor(clr);
    assertEquals(clr.getCTColor().toString(), cellStyle.getTopBorderXSSFColor().getCTColor().toString());
    byte[] rgb = cellStyle.getTopBorderXSSFColor().getRGB();
    assertEquals(java.awt.Color.CYAN, new java.awt.Color(rgb[0] & 0xFF, rgb[1] & 0xFF, rgb[2] & 0xFF));
    //another border was added to the styles table
    assertEquals(num + 1, stylesTable.getBorders().size());
    //passing null unsets the color
    cellStyle.setTopBorderColor(null);
    assertNull(cellStyle.getTopBorderXSSFColor());
}
Also used : CTBorder(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder) Test(org.junit.Test)

Example 37 with CTBorder

use of org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder in project poi by apache.

the class TestXSSFCellStyle method testGetSetBorderXMLBean.

private void testGetSetBorderXMLBean(BorderStyle border, STBorderStyle.Enum expected) {
    cellStyle.setBorderTop(border);
    assertEquals(border, cellStyle.getBorderTopEnum());
    int borderId = (int) cellStyle.getCoreXf().getBorderId();
    assertTrue(borderId > 0);
    //check changes in the underlying xml bean
    CTBorder ctBorder = stylesTable.getBorderAt(borderId).getCTBorder();
    assertEquals(expected, ctBorder.getTop().getStyle());
}
Also used : CTBorder(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder)

Aggregations

CTBorder (org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder)25 CTBorder (org.openxmlformats.schemas.wordprocessingml.x2006.main.CTBorder)11 Test (org.junit.Test)10 CTBorderPr (org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorderPr)10 CTTblBorders (org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblBorders)10 CTTblPr (org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblPr)10 XSSFCellBorder (org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder)9 STBorderStyle (org.openxmlformats.schemas.spreadsheetml.x2006.main.STBorderStyle)5 CTString (org.openxmlformats.schemas.wordprocessingml.x2006.main.CTString)2 POIXMLException (org.apache.poi.POIXMLException)1 XmlException (org.apache.xmlbeans.XmlException)1 CTFill (org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFill)1 CTFont (org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFont)1 CTStylesheet (org.openxmlformats.schemas.spreadsheetml.x2006.main.CTStylesheet)1 CTP (org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP)1 CTPBdr (org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPBdr)1 CTPPr (org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPPr)1