Search in sources :

Example 6 with CTBorderPr

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

the class XSSFCellStyle method setLeftBorderColor.

/**
     * Set the color to use for the left border as a {@link XSSFColor} value
     *
     * @param color the color to use
     */
public void setLeftBorderColor(XSSFColor color) {
    CTBorder ct = getCTBorder();
    if (color == null && !ct.isSetLeft())
        return;
    CTBorderPr pr = ct.isSetLeft() ? ct.getLeft() : ct.addNewLeft();
    if (color != null)
        pr.setColor(color.getCTColor());
    else
        pr.unsetColor();
    int idx = _stylesSource.putBorder(new XSSFCellBorder(ct, _theme, _stylesSource.getIndexedColors()));
    _cellXf.setBorderId(idx);
    _cellXf.setApplyBorder(true);
}
Also used : CTBorder(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder) CTBorderPr(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorderPr) XSSFCellBorder(org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder)

Example 7 with CTBorderPr

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

the class XSSFCellStyle method setBorderBottom.

/**
     * Set the type of border to use for the bottom border of the cell
     *
     * @param border - type of border to use
     * @see org.apache.poi.ss.usermodel.BorderStyle
     * @since POI 3.15
     */
@Override
public void setBorderBottom(BorderStyle border) {
    CTBorder ct = getCTBorder();
    CTBorderPr pr = ct.isSetBottom() ? ct.getBottom() : ct.addNewBottom();
    if (border == BorderStyle.NONE)
        ct.unsetBottom();
    else
        pr.setStyle(STBorderStyle.Enum.forInt(border.getCode() + 1));
    int idx = _stylesSource.putBorder(new XSSFCellBorder(ct, _theme, _stylesSource.getIndexedColors()));
    _cellXf.setBorderId(idx);
    _cellXf.setApplyBorder(true);
}
Also used : CTBorder(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder) CTBorderPr(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorderPr) XSSFCellBorder(org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder)

Example 8 with CTBorderPr

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

the class XSSFCellStyle method setBottomBorderColor.

/**
     * Set the color to use for the bottom border
     *
     * @param color the color to use, null means no color
     */
public void setBottomBorderColor(XSSFColor color) {
    CTBorder ct = getCTBorder();
    if (color == null && !ct.isSetBottom())
        return;
    CTBorderPr pr = ct.isSetBottom() ? ct.getBottom() : ct.addNewBottom();
    if (color != null)
        pr.setColor(color.getCTColor());
    else
        pr.unsetColor();
    int idx = _stylesSource.putBorder(new XSSFCellBorder(ct, _theme, _stylesSource.getIndexedColors()));
    _cellXf.setBorderId(idx);
    _cellXf.setApplyBorder(true);
}
Also used : CTBorder(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder) CTBorderPr(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorderPr) XSSFCellBorder(org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder)

Example 9 with CTBorderPr

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

the class XSSFCellStyle method setBorderLeft.

/**
     * Set the type of border to use for the left border of the cell
      *
     * @param border the type of border to use
     * @since POI 3.15
     */
@Override
public void setBorderLeft(BorderStyle border) {
    CTBorder ct = getCTBorder();
    CTBorderPr pr = ct.isSetLeft() ? ct.getLeft() : ct.addNewLeft();
    if (border == BorderStyle.NONE)
        ct.unsetLeft();
    else
        pr.setStyle(STBorderStyle.Enum.forInt(border.getCode() + 1));
    int idx = _stylesSource.putBorder(new XSSFCellBorder(ct, _theme, _stylesSource.getIndexedColors()));
    _cellXf.setBorderId(idx);
    _cellXf.setApplyBorder(true);
}
Also used : CTBorder(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder) CTBorderPr(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorderPr) XSSFCellBorder(org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder)

Example 10 with CTBorderPr

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

the class TestXSSFBorder method testGetBorderStyle.

public void testGetBorderStyle() {
    CTStylesheet stylesheet = CTStylesheet.Factory.newInstance();
    CTBorder border = stylesheet.addNewBorders().addNewBorder();
    CTBorderPr top = border.addNewTop();
    CTBorderPr right = border.addNewRight();
    CTBorderPr bottom = border.addNewBottom();
    top.setStyle(STBorderStyle.DASH_DOT);
    right.setStyle(STBorderStyle.NONE);
    bottom.setStyle(STBorderStyle.THIN);
    XSSFCellBorder cellBorderStyle = new XSSFCellBorder(border);
    assertEquals("DASH_DOT", cellBorderStyle.getBorderStyle(BorderSide.TOP).toString());
    assertEquals("NONE", cellBorderStyle.getBorderStyle(BorderSide.RIGHT).toString());
    assertEquals(BorderStyle.NONE.ordinal(), cellBorderStyle.getBorderStyle(BorderSide.RIGHT).ordinal());
    assertEquals("THIN", cellBorderStyle.getBorderStyle(BorderSide.BOTTOM).toString());
    assertEquals(BorderStyle.THIN.ordinal(), cellBorderStyle.getBorderStyle(BorderSide.BOTTOM).ordinal());
}
Also used : CTBorder(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder) CTStylesheet(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTStylesheet) CTBorderPr(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorderPr)

Aggregations

CTBorderPr (org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorderPr)10 CTBorder (org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder)9 XSSFCellBorder (org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder)8 CTStylesheet (org.openxmlformats.schemas.spreadsheetml.x2006.main.CTStylesheet)1 STBorderStyle (org.openxmlformats.schemas.spreadsheetml.x2006.main.STBorderStyle)1