Ejemplo n.º 1
0
  /**
   * 罫線スタイルの<b>CellStyle</b>を生成 1行のみ描画する
   *
   * @param workbook ワークブック
   * @param sheet シート
   * @param nRow 行
   * @param nColumn       列
   * @param isBold 太字フラグ
   * @param fontSize 文字サイズ
   * @param fontHeight 行高
   */
  public static void setCellStyleForLabel(
      XSSFWorkbook workbook,
      XSSFSheet sheet,
      int nRow,
      int nColumn,
      boolean isBold,
      short fontSize,
      float fontHeight) {
    assert sheet != null;

    // style設定
    XSSFCellStyle style = workbook.createCellStyle();
    XSSFFont font = workbook.createFont();
    if (isBold) {
      font.setBoldweight(XSSFFont.BOLDWEIGHT_BOLD); // 文字太字
    }
    font.setFontHeightInPoints((short) fontSize); // 文字サイズ
    font.setFontName(DEFAULT_FONT_NAME);
    style.setFont(font); // 文字太字 と 文字サイズ

    style.setAlignment(CellStyle.ALIGN_GENERAL); // 水平方向の標準
    style.setVerticalAlignment(CellStyle.VERTICAL_TOP); // 垂直方向の上詰め
    style.setWrapText(true); // 折り返して全体を表示する

    // セルに罫線を描画
    XSSFRow row = getRowAnyway(sheet, nRow);
    XSSFCell cell = getCellAnyway(row, nColumn);
    cell.setCellStyle(style);
    row.setHeightInPoints(fontHeight); // 行高設定
  }
Ejemplo n.º 2
0
  /**
   * 罫線スタイルの<b>CellStyle</b>を生成
   *
   * @param workbook ワークブック
   * @param backgroundColor 背景色
   * @return <b>CellStyle</b>
   */
  public static XSSFCellStyle createTableDataCellStyle(
      XSSFWorkbook workbook,
      boolean isTop,
      boolean isBottom,
      boolean isLeft,
      boolean isRight,
      Color backgroundColor,
      short fontSize,
      boolean bold) {
    XSSFCellStyle style = workbook.createCellStyle();
    style.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND); // 必ずsetFillForegroundColorの直前に記述すること
    style.setFillForegroundColor(new XSSFColor(backgroundColor));
    style.setAlignment(CellStyle.ALIGN_LEFT); // 水平方法の位置
    style.setVerticalAlignment(CellStyle.VERTICAL_TOP);
    style.setWrapText(true); // 折り返して全体を表示する
    //        style.setShrinkToFit(true);//縮小して全体を表示する

    // 文字サイズ設定
    XSSFFont font = workbook.createFont();
    font.setFontHeightInPoints(fontSize);
    if (bold) {
      font.setBoldweight(XSSFFont.BOLDWEIGHT_BOLD);
    }
    style.setFont(font);

    if (isTop) {
      style.setBorderTop(XSSFCellStyle.BORDER_MEDIUM);
    } else {
      style.setBorderTop(XSSFCellStyle.BORDER_THIN);
    }
    if (isBottom) {
      style.setBorderBottom(XSSFCellStyle.BORDER_MEDIUM);
    } else {
      style.setBorderBottom(XSSFCellStyle.BORDER_THIN);
    }
    if (isLeft) {
      style.setBorderLeft(XSSFCellStyle.BORDER_MEDIUM);
    } else {
      style.setBorderLeft(XSSFCellStyle.BORDER_THIN);
    }
    if (isRight) {
      style.setBorderRight(XSSFCellStyle.BORDER_MEDIUM);
    } else {
      style.setBorderRight(XSSFCellStyle.BORDER_THIN);
    }
    return style;
  }