景色の文字を見てたら、津軽かなってちょっと思ってみた。
そーいえば新青森から先?って、青森県走ってるのに新幹線はJR北海道なんだよねぇ。。
Apache POIを使って、Excelのセルに前景色・背景色のスタイルを設定するサンプル
Apache POIを使ってExcelファイルを作成します。
また、セルスタイルを使って、セルの前景色(フォント)と背景色を設定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.FillPatternType; import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class ExcelCellStyleTest { public static void main(String[] args) { //ワークブック作成 try (Workbook workbook = new XSSFWorkbook()) { //スタイルの背景色を黒色に CellStyle style = workbook.createCellStyle(); style.setFillForegroundColor(IndexedColors.BLACK.getIndex()); style.setFillPattern(FillPatternType.SOLID_FOREGROUND); //フォントの前景色を白色にして、スタイルにセット Font font = workbook.createFont(); font.setColor(IndexedColors.WHITE.getIndex()); style.setFont(font); //シート作成 Sheet sheet = workbook.createSheet("しーと1"); //行を作成 Row row = sheet.createRow(0); //セルにデータ書き込み、スタイルを設定 Cell cell = row.createCell(0); cell.setCellValue("てすと"); cell.setCellStyle(style); //ファイル出力 try (FileOutputStream outputStream = new FileOutputStream("c:\\work\\test.xlsx")) { workbook.write(outputStream); } } catch (IOException e) { e.printStackTrace(); } } } |
実行結果
Excelファイルが作成されます。
こんな感じでセルの前景色、背景色がセットされます。
サンプルの解説
Workbook#createCellStyle()でセルスタイル(CellStyle)を作成します。
前景色はフォント(Font)を作成後、スタイルに設定。背景色はスタイルで設定します。
あとは、Cell#setCellStyle(CellStyle)でセルにスタイルをセットするだけですね。
※このコードを使用するには、別途Apache POIの入手が必要です。
入手方法などはこちらの記事に書いてあります。