Apache POI – セルの前景色(背景色)を設定するには
セルの前景色(背景色)を設定するには、HSSFCellStyleクラスのsetFillForegroundColorメソッドを使用します。
package net.tk_factory.sample.apache.poi.cell; import java.io.FileOutputStream; import java.io.IOException; import net.tk_factory.sample.AbstractSample; import org.apache.log4j.Logger; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFRichTextString; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.HSSFColor; /** * Apache POI-HSSFを使用したサンプルプログラムです。<br/> * <br/> * <b>内容</b> * <ol type="1"> * <li>セルの前景色(背景色)を設定します。</li> * </ol> * @author Takafumi Kondo (TK Factory) */ public class SampleSetFillForegroundColor extends AbstractSample { /** クラス名 */ private static final String CLASS_NAME = SampleSetFillForegroundColor.class.getSimpleName(); /** ロガー */ private static final Logger LOGGER = Logger.getLogger(SampleSetFillForegroundColor.class.getName()); /** 出力ファイル名 */ private static final String OUT_FILE_NAME = SAMPLE_FILE_DIRECTORY + CLASS_NAME + "Out.xls"; /** * SampleSetFillForegroundColorオブジェクトを構築すると、 * UnsupportedOperationExceptionがスローされます。<br/> */ protected SampleSetFillForegroundColor() { throw new UnsupportedOperationException(); } /** * mainメソッドです。<br/> * * @param args 引数 */ public static void main(String[] args) { LOGGER.info("[START]" + CLASS_NAME); FileOutputStream out = null; try { //すでに出力ファイルが存在している場合は削除する deleteExistsFile(OUT_FILE_NAME); //ワークブックを生成する HSSFWorkbook workbook = new HSSFWorkbook(); //シートを追加する HSSFSheet sheet = workbook.createSheet(); //行を追加する HSSFRow[] rows = new HSSFRow[47]; for (int i = 0; i < rows.length; i++) { rows[i] = sheet.createRow(i); } //AQUA createCell(workbook, rows[0], 0, "AQUA", HSSFColor.AQUA.index); //BLACK createCell(workbook, rows[1], 1, "BLACK", HSSFColor.BLACK.index); //BLUE createCell(workbook, rows[2], 2, "BLUE", HSSFColor.BLUE.index); //BLUE_GREY createCell(workbook, rows[3], 3, "BLUE_GREY", HSSFColor.BLUE_GREY.index); //BRIGHT_GREEN createCell(workbook, rows[4], 4, "BRIGHT_GREEN", HSSFColor.BRIGHT_GREEN.index); //BROWN createCell(workbook, rows[5], 0, "BROWN", HSSFColor.BROWN.index); //CORAL createCell(workbook, rows[6], 1, "CORAL", HSSFColor.CORAL.index); //CORNFLOWER_BLUE createCell(workbook, rows[7], 2, "CORNFLOWER_BLUE", HSSFColor.CORNFLOWER_BLUE.index); //DARK_BLUE createCell(workbook, rows[8], 3, "DARK_BLUE", HSSFColor.DARK_BLUE.index); //DARK_GREEN createCell(workbook, rows[9], 4, "DARK_GREEN", HSSFColor.DARK_GREEN.index); //DARK_RED createCell(workbook, rows[10], 0, "DARK_RED", HSSFColor.DARK_RED.index); //DARK_TEAL createCell(workbook, rows[11], 1, "DARK_TEAL", HSSFColor.DARK_TEAL.index); //DARK_YELLOW createCell(workbook, rows[12], 2, "DARK_YELLOW", HSSFColor.DARK_YELLOW.index); //GOLD createCell(workbook, rows[13], 3, "GOLD", HSSFColor.GOLD.index); //GREEN createCell(workbook, rows[14], 4, "GREEN", HSSFColor.GREEN.index); //GREY_25_PERCENT createCell(workbook, rows[15], 0, "GREY_25_PERCENT", HSSFColor.GREY_25_PERCENT.index); //GREY_40_PERCENT createCell(workbook, rows[16], 1, "GREY_40_PERCENT", HSSFColor.GREY_40_PERCENT.index); //GREY_50_PERCENT createCell(workbook, rows[17], 2, "GREY_50_PERCENT", HSSFColor.GREY_50_PERCENT.index); //GREY_80_PERCENT createCell(workbook, rows[18], 3, "GREY_80_PERCENT", HSSFColor.GREY_80_PERCENT.index); //INDIGO createCell(workbook, rows[19], 4, "INDIGO", HSSFColor.INDIGO.index); //LAVENDER createCell(workbook, rows[20], 0, "LAVENDER", HSSFColor.LAVENDER.index); //LEMON_CHIFFON createCell(workbook, rows[21], 1, "LEMON_CHIFFON", HSSFColor.LEMON_CHIFFON.index); //LIGHT_BLUE createCell(workbook, rows[22], 2, "LIGHT_BLUE", HSSFColor.LIGHT_BLUE.index); //LIGHT_CORNFLOWER_BLUE createCell(workbook, rows[23], 3, "LIGHT_CORNFLOWER_BLUE", HSSFColor.LIGHT_CORNFLOWER_BLUE.index); //LIGHT_GREEN createCell(workbook, rows[24], 4, "LIGHT_GREEN", HSSFColor.LIGHT_GREEN.index); //LIGHT_ORANGE createCell(workbook, rows[25], 0, "LIGHT_ORANGE", HSSFColor.LIGHT_ORANGE.index); //LIGHT_TURQUOISE createCell(workbook, rows[26], 1, "LIGHT_TURQUOISE", HSSFColor.LIGHT_TURQUOISE.index); //LIGHT_YELLOW createCell(workbook, rows[27], 2, "LIGHT_YELLOW", HSSFColor.LIGHT_YELLOW.index); //LIME createCell(workbook, rows[28], 3, "LIME", HSSFColor.LIME.index); //MAROON createCell(workbook, rows[29], 4, "MAROON", HSSFColor.MAROON.index); //OLIVE_GREEN createCell(workbook, rows[30], 0, "OLIVE_GREEN", HSSFColor.OLIVE_GREEN.index); //ORANGE createCell(workbook, rows[31], 1, "ORANGE", HSSFColor.ORANGE.index); //ORCHID createCell(workbook, rows[32], 2, "ORCHID", HSSFColor.ORCHID.index); //PALE_BLUE createCell(workbook, rows[33], 3, "PALE_BLUE", HSSFColor.PALE_BLUE.index); //PINK createCell(workbook, rows[34], 4, "PINK", HSSFColor.PINK.index); //PLUM createCell(workbook, rows[35], 0, "PLUM", HSSFColor.PLUM.index); //RED createCell(workbook, rows[36], 1, "RED", HSSFColor.RED.index); //ROSE createCell(workbook, rows[37], 2, "ROSE", HSSFColor.ROSE.index); //ROYAL_BLUE createCell(workbook, rows[38], 3, "ROYAL_BLUE", HSSFColor.ROYAL_BLUE.index); //SEA_GREEN createCell(workbook, rows[39], 4, "SEA_GREEN", HSSFColor.SEA_GREEN.index); //SKY_BLUE createCell(workbook, rows[40], 0, "SKY_BLUE", HSSFColor.SKY_BLUE.index); //TAN createCell(workbook, rows[41], 1, "TAN", HSSFColor.TAN.index); //TEAL createCell(workbook, rows[42], 2, "TEAL", HSSFColor.TEAL.index); //TURQUOISE createCell(workbook, rows[43], 3, "TURQUOISE", HSSFColor.TURQUOISE.index); //VIOLET createCell(workbook, rows[44], 4, "VIOLET", HSSFColor.VIOLET.index); //WHITE createCell(workbook, rows[45], 0, "WHITE", HSSFColor.WHITE.index); //YELLOW createCell(workbook, rows[46], 1, "YELLOW", HSSFColor.YELLOW.index); //ファイルを保存する out = new FileOutputStream(OUT_FILE_NAME); workbook.write(out); } catch (IOException ioex) { LOGGER.error(getStackTrace(ioex)); } finally { try { if (out != null) { out.close(); } } catch (IOException ioex) { LOGGER.error(getStackTrace(ioex)); } LOGGER.info("[E N D]" + CLASS_NAME); } } /** * セルを作成します。<br/> * 作成したセルに指定された前景色(背景色)を設定します。<br/> * * @param workbook ワークブック * @param row 行 * @param column カラム位置のインデックス * @param text セルに出力する文字列 * @param fillBackgroundColor 前景色(背景色) */ private static void createCell( HSSFWorkbook workbook, HSSFRow row, int column, String text, short fillForegroundColor) { //セルを追加する HSSFCell cell = row.createCell(column); //セルに文字列を設定する cell.setCellValue(new HSSFRichTextString(text)); //セルの前景色(背景色)を設定する //※塗りつぶしパターンに「塗りつぶし」を設定する HSSFCellStyle style = workbook.createCellStyle(); style.setFillForegroundColor(fillForegroundColor); style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); cell.setCellStyle(style); } }
関連記事
コメント 0