エクセルは表を書いてなんぼですね。
なんで、罫線は大事w
Apache POIを使って、Excelのセルに罫線を引くサンプル
Apache POIを使ってExcelファイルを作成します。
また、セルスタイルを使って、上下に隣接する2つのセルの罫線を設定します。
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 | import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.ss.usermodel.BorderStyle; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; 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 ExcelBorderTest { public static void main(String[] args) { //ワークブック作成 try (Workbook workbook = new XSSFWorkbook()) { //シート作成 Sheet sheet = workbook.createSheet("しーと1"); //スタイルの罫線(上) CellStyle style1 = workbook.createCellStyle(); style1.setBorderLeft(BorderStyle.THIN); style1.setBorderRight(BorderStyle.THIN); style1.setBorderTop(BorderStyle.THIN); //スタイルの罫線(下) CellStyle style2 = workbook.createCellStyle(); style2.setBorderLeft(BorderStyle.THIN); style2.setBorderRight(BorderStyle.THIN); style2.setBorderBottom(BorderStyle.THIN); //行を作成 Row row1 = sheet.createRow(1); Row row2 = sheet.createRow(2); //セル(上) Cell cell1 = row1.createCell(1); cell1.setCellValue("てすと1"); cell1.setCellStyle(style1); //セル(下) Cell cell12 = row2.createCell(1); cell12.setCellValue("てすと2"); cell12.setCellStyle(style2); //ファイル出力 try (FileOutputStream outputStream = new FileOutputStream("c:\\work\\test.xlsx")) { workbook.write(outputStream); } } catch (IOException e) { e.printStackTrace(); } } } |
実行結果
Excelファイルが作成されます。
上のセルは左・上・右に罫線。下のセルは左・下・右に罫線が引かれています。
サンプルの解説
workbook#createCellStyle()でセルスタイル(CellStyle)を作成します。
その後、CellStyle#setBorderLeft(BorderStyle)を使って、罫線を引くことができます。
※このコードを使用するには、別途Apache POIの入手が必要です。
入手方法などはこちらの記事に書いてあります。