Пример #1
0
 /**
  * 罫線スタイルの<b>CellStyle</b>を生成
  *
  * @param workbook ワークブック
  * @param isBorder 罫線描画フラグ
  * @return <b>CellStyle</b>
  */
 public static XSSFCellStyle createTableDataCellStyle(XSSFWorkbook workbook, boolean isBorder) {
   XSSFCellStyle style = workbook.createCellStyle();
   style.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND); // 必ずsetFillForegroundColorの直前に記述すること
   if (isBorder) {
     style.setBorderTop(XSSFCellStyle.BORDER_THIN);
     style.setBorderBottom(XSSFCellStyle.BORDER_THIN);
     style.setBorderLeft(XSSFCellStyle.BORDER_THIN);
     style.setBorderRight(XSSFCellStyle.BORDER_THIN);
   }
   return style;
 }
Пример #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;
  }
Пример #3
0
 /**
  * デフォルトのテーブルヘッダースタイルを作成
  *
  * @param workbook ワークブック
  * @param bold 太字設定フラグ
  * @param fontSize フォントサイズ
  * @param backgroundColor 背景色
  * @return <b>CellStyle</b>
  */
 public static XSSFCellStyle createDefaultTableHeaderCellStyle(
     XSSFWorkbook workbook, boolean bold, boolean center, int fontSize, Color backgroundColor) {
   XSSFFont font = workbook.createFont();
   if (bold) {
     font.setBoldweight(XSSFFont.BOLDWEIGHT_BOLD);
   }
   font.setFontHeightInPoints((short) fontSize);
   font.setFontName(DEFAULT_FONT_NAME);
   XSSFCellStyle style = workbook.createCellStyle();
   if (center) {
     style.setAlignment(XSSFCellStyle.ALIGN_CENTER);
   }
   style.setFont(font);
   style.setFillPattern(XSSFCellStyle.SOLID_FOREGROUND); // 必ずsetFillForegroundColorの直前に記述すること
   style.setFillForegroundColor(new XSSFColor(backgroundColor));
   style.setBorderTop(XSSFCellStyle.BORDER_THIN);
   style.setBorderBottom(XSSFCellStyle.BORDER_THIN);
   style.setBorderLeft(XSSFCellStyle.BORDER_THIN);
   style.setBorderRight(XSSFCellStyle.BORDER_THIN);
   return style;
 }