Example usage for org.apache.poi.ss.usermodel BorderStyle DOUBLE

List of usage examples for org.apache.poi.ss.usermodel BorderStyle DOUBLE

Introduction

In this page you can find the example usage for org.apache.poi.ss.usermodel BorderStyle DOUBLE.

Prototype

BorderStyle DOUBLE

To view the source code for org.apache.poi.ss.usermodel BorderStyle DOUBLE.

Click Source Link

Document

double-line border

Usage

From source file:cn.afterturn.easypoi.excel.html.css.impl.BorderCssConverImpl.java

License:Apache License

@Override
public void convertToExcel(Cell cell, CellStyle cellStyle, CellStyleEntity style) {
    if (style == null || style.getBorder() == null) {
        return;/*from   w  w  w  .  j av a 2 s .  c  o m*/
    }
    CellStyleBorderEntity border = style.getBorder();
    for (String pos : new String[] { TOP, RIGHT, BOTTOM, LEFT }) {
        String posName = StringUtils.capitalize(pos.toLowerCase());
        // color
        String colorAttr = null;
        try {
            colorAttr = (String) MethodUtils.invokeMethod(border, "getBorder" + posName + "Color");
        } catch (Exception e) {
            log.error("Set Border Style Error Caused.", e);
        }
        if (StringUtils.isNotEmpty(colorAttr)) {
            if (cell instanceof HSSFCell) {
                HSSFColor poiColor = PoiCssUtils.parseColor((HSSFWorkbook) cell.getSheet().getWorkbook(),
                        colorAttr);
                if (poiColor != null) {
                    try {
                        MethodUtils.invokeMethod(cellStyle, "set" + posName + "BorderColor",
                                poiColor.getIndex());
                    } catch (Exception e) {
                        log.error("Set Border Color Error Caused.", e);
                    }
                }
            }
            if (cell instanceof XSSFCell) {
                XSSFColor poiColor = PoiCssUtils.parseColor(colorAttr);
                if (poiColor != null) {
                    try {
                        MethodUtils.invokeMethod(cellStyle, "set" + posName + "BorderColor", poiColor);
                    } catch (Exception e) {
                        log.error("Set Border Color Error Caused.", e);
                    }
                }
            }
        }
        // width
        int width = 0;
        try {
            String widthStr = (String) MethodUtils.invokeMethod(border, "getBorder" + posName + "Width");
            if (PoiCssUtils.isNum(widthStr)) {
                width = Integer.parseInt(widthStr);
            }
        } catch (Exception e) {
            log.error("Set Border Style Error Caused.", e);
        }
        String styleValue = null;
        try {
            styleValue = (String) MethodUtils.invokeMethod(border, "getBorder" + posName + "Style");
        } catch (Exception e) {
            log.error("Set Border Style Error Caused.", e);
        }
        BorderStyle shortValue = BorderStyle.NONE;
        // empty or solid
        if (StringUtils.isBlank(styleValue) || "solid".equals(styleValue)) {
            if (width > 2) {
                shortValue = BorderStyle.THICK;
            } else if (width > 1) {
                shortValue = BorderStyle.MEDIUM;
            } else {
                shortValue = BorderStyle.THIN;
            }
        } else if (ArrayUtils.contains(new String[] { NONE, HIDDEN }, styleValue)) {
            shortValue = BorderStyle.NONE;
        } else if (DOUBLE.equals(styleValue)) {
            shortValue = BorderStyle.DOUBLE;
        } else if (DOTTED.equals(styleValue)) {
            shortValue = BorderStyle.DOTTED;
        } else if (DASHED.equals(styleValue)) {
            if (width > 1) {
                shortValue = BorderStyle.MEDIUM_DASHED;
            } else {
                shortValue = BorderStyle.DASHED;
            }
        }
        // border style
        if (shortValue != BorderStyle.NONE) {
            try {
                MethodUtils.invokeMethod(cellStyle, "setBorder" + posName, shortValue);
            } catch (Exception e) {
                log.error("Set Border Style Error Caused.", e);
            }
        }
    }
}

From source file:com.hauldata.dbpa.file.book.XlsxTargetSheet.java

License:Apache License

private static BorderStyle resolveBorderStyle(BorderStyles border) {

    BorderWidth borderWidth = (border.width != null) ? border.width : BorderWidth.MEDIUM;
    BorderEdge borderStyle = (border.style != null) ? border.style : BorderEdge.NONE;

    if (borderWidth == BorderWidth.ZERO) {
        return BorderStyle.NONE;
    }/*from w w w.j av a 2 s  .co  m*/

    switch (borderStyle) {
    case NONE:
    case HIDDEN:
        return BorderStyle.NONE;
    default:
    case SOLID:
        switch (borderWidth) {
        case THIN:
            return BorderStyle.THIN;
        default:
        case MEDIUM:
            return BorderStyle.MEDIUM;
        case THICK:
            return BorderStyle.THICK;
        }
    case DOUBLE:
        return BorderStyle.DOUBLE;
    case DASHED:
        switch (borderWidth) {
        case THIN:
            return BorderStyle.DASHED;
        default:
        case MEDIUM:
        case THICK:
            return BorderStyle.MEDIUM_DASHED;
        }
    case DOTTED:
        return BorderStyle.DOTTED;
    }
}

From source file:org.pentaho.reporting.engine.classic.core.modules.output.table.xls.helper.HSSFCellStyleProducer.java

License:Open Source License

/**
 * Tries to translate the given stroke width into one of the predefined excel border styles.
 *
 * @param widthRaw the AWT-Stroke-Width.
 * @return the translated excel border width.
 *///from  www.  j a v a 2s .  com
protected static org.apache.poi.ss.usermodel.BorderStyle translateStroke(
        final org.pentaho.reporting.engine.classic.core.style.BorderStyle borderStyle, final long widthRaw) {
    final double width = StrictGeomUtility.toExternalValue(widthRaw);

    if (org.pentaho.reporting.engine.classic.core.style.BorderStyle.NONE.equals(borderStyle)) {
        return BorderStyle.NONE;
    } else if (org.pentaho.reporting.engine.classic.core.style.BorderStyle.DASHED.equals(borderStyle)) {
        return width <= 1.5 ? BorderStyle.DASHED : BorderStyle.MEDIUM_DASHED;
    } else if (org.pentaho.reporting.engine.classic.core.style.BorderStyle.DOT_DOT_DASH.equals(borderStyle)) {
        return width <= 1.5 ? BorderStyle.DASH_DOT_DOT : BorderStyle.MEDIUM_DASH_DOT_DOT;
    } else if (org.pentaho.reporting.engine.classic.core.style.BorderStyle.DOT_DASH.equals(borderStyle)) {
        return width <= 1.5 ? BorderStyle.DASH_DOT : BorderStyle.MEDIUM_DASH_DOT;
    } else if (org.pentaho.reporting.engine.classic.core.style.BorderStyle.DOTTED.equals(borderStyle)) {
        return BorderStyle.DOTTED;
    } else if (org.pentaho.reporting.engine.classic.core.style.BorderStyle.DOUBLE.equals(borderStyle)) {
        return BorderStyle.DOUBLE;
    } else if (width == 0) {
        return BorderStyle.NONE;
    } else if (width <= 0.5) {
        return BorderStyle.HAIR;
    } else if (width <= 1) {
        return BorderStyle.THIN;
    } else if (width <= 1.5) {
        return BorderStyle.MEDIUM;
    } else {
        return BorderStyle.THICK;
    }
}

From source file:org.sysmodb.xml.XMLStyleGenerator.java

License:BSD License

private static Map<BorderStyle, String> createBorderMap() {
    Map<BorderStyle, String> result = new HashMap<BorderStyle, String>();
    result.put(BorderStyle.DASHED, "dashed 1pt");
    result.put(BorderStyle.DASH_DOT, "dashed 1pt");
    result.put(BorderStyle.DASH_DOT_DOT, "dashed 1pt");
    result.put(BorderStyle.DOTTED, "dotted 1pt");
    result.put(BorderStyle.DOUBLE, "double 3pt");
    result.put(BorderStyle.HAIR, "solid 1pt");
    result.put(BorderStyle.MEDIUM, "2pt solid");
    result.put(BorderStyle.MEDIUM_DASHED, "2pt dashed");
    result.put(BorderStyle.MEDIUM_DASH_DOT, "2pt dashed");
    result.put(BorderStyle.MEDIUM_DASH_DOT_DOT, "2pt dashed");
    result.put(BorderStyle.NONE, "none");
    result.put(BorderStyle.SLANTED_DASH_DOT, "dashed 2pt");
    result.put(BorderStyle.THICK, "solid 3pt");
    result.put(BorderStyle.THIN, "dashed 1pt");

    return Collections.unmodifiableMap(result);
}

From source file:uk.co.spudsoft.birt.emitters.excel.StyleManagerXUtils.java

License:Open Source License

/**
 * Converts a BIRT border style into a POI BorderStyle.
 * @param birtBorder/*  w  w  w .ja  v  a  2 s  .  co m*/
 * The BIRT border style.
 * @param width
 * The width of the border as understood by BIRT.
 * @return
 * A POI BorderStyle object.
 */
private BorderStyle poiBorderStyleFromBirt(String birtBorder, String width) {
    if ("none".equals(birtBorder)) {
        return BorderStyle.NONE;
    }
    double pxWidth = 3.0;
    if (CSSConstants.CSS_THIN_VALUE.equals(width)) {
        pxWidth = 1.0;
    } else if (CSSConstants.CSS_MEDIUM_VALUE.equals(width)) {
        pxWidth = 3.0;
    } else if (CSSConstants.CSS_THICK_VALUE.equals(width)) {
        pxWidth = 4.0;
    } else {
        DimensionType dim = DimensionType.parserUnit(width);
        if (dim != null) {
            if ("px".equals(dim.getUnits())) {
                pxWidth = dim.getMeasure();
            }
        }
    }
    if ("solid".equals(birtBorder)) {
        if (pxWidth < 2.9) {
            return BorderStyle.THIN;
        } else if (pxWidth < 3.1) {
            return BorderStyle.MEDIUM;
        } else {
            return BorderStyle.THICK;
        }
    } else if ("dashed".equals(birtBorder)) {
        if (pxWidth < 2.9) {
            return BorderStyle.DASHED;
        } else {
            return BorderStyle.MEDIUM_DASHED;
        }
    } else if ("dotted".equals(birtBorder)) {
        return BorderStyle.DOTTED;
    } else if ("double".equals(birtBorder)) {
        return BorderStyle.DOUBLE;
    }

    log.debug("Border style \"", birtBorder, "\" is not recognised.");
    return BorderStyle.NONE;
}