ApachePOIで、セル値にフォントを設定するサンプルです。
サンプルソース
例)A1セルに各種フォントを設定する
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 52 53 54 55 56 57 58 59 |
import java.io.FileOutputStream; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Color; 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 PoiSample { public static void main(String[] args) { //Excelデータ生成 Workbook wb = new XSSFWorkbook(); //ブックの生成 Sheet sh = wb.createSheet(); //シートの生成 Row row = sh.createRow(0); //行の生成 Cell cell = row.createCell(0); //セルの生成 cell.setCellValue("サンプル"); //文字のセット //フォントオブジェクト生成 Font font = wb.createFont(); font.setBold(true); //太字 font.setItalic(true); //斜体 font.setStrikeout(true); //打消し線 font.setUnderline(Font.U_DOUBLE); //下線(二重線) font.setColor(IndexedColors.RED.index); //文字色(赤) font.setFontName("MS Pゴシック"); //フォント(MS Pゴシック) font.setFontHeightInPoints((short)18); //フォントサイズ18pt //セルに生成したフォントを設定する CellStyle cs = wb.createCellStyle(); cs.setFont(font); cell.setCellStyle(cs); //Excelファイル準備 FileOutputStream out = null; String path = "D:¥¥sample.xlsx"; try { //Excel出力 out = new FileOutputStream(path); wb.write(out); } catch (Exception ex) { ex.printStackTrace(); } finally { try { wb.close(); out.close(); } catch (Exception ex2) { ex2.printStackTrace(); } } } } |
下線に指定できる種類
以下の定数を使用します。
Font.U_DOUBLE | 二重線 |
Font.U_DOUBLE_ACCOUNTING | 二重線(会計用) |
Font.U_SINGLE | 通常線 |
Font.U_SINGLE_ACCOUNTING | 通常線(会計用) |
Font.U_NONE | なし |
備考
- .xls形式、.xlsx形式どちらの形式のExcelにも対応します。
- 使用できる色は下記関連項目を参照ください