解説動画
今回は、Apache POIを使って、Excelシートを書き換えるアプリケーションを作成します。
 雛形になるExcelファイルを元に、定型レポートを作ります。
■動画はこちら
■Youtube版の解説で使用しているソースコード
 動画と一緒にこちらも参考にどうぞ。
| 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 | import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.Calendar; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.WorkbookFactory; public class ExcelReportTest {     public static void main(String[] args) {         //ワークブックを開く         try(FileInputStream fis = new FileInputStream("d:\\work\\テンプレート.xlsx");             FileOutputStream fos = new FileOutputStream("d:\\work\\週間_戦国武将人気トップ3.xlsx");             Workbook workbook = WorkbookFactory.create(fis)){             Sheet sheet = workbook.getSheetAt(0);             //集計期間(FROM=C6(5,2) TO=C8(7,2))             Calendar cFrom = Calendar.getInstance();             cFrom.set(2023, 8, 15);             sheet.getRow(5).getCell(2).setCellValue(cFrom);             Calendar cTo = Calendar.getInstance();             cTo.set(2023, 8, 21);             sheet.getRow(7).getCell(2).setCellValue(cTo);             //ランキング(人名=F7:F9(6,5):(8,5) 得票数=G7:G9(6,6):(8,6) 前回順位=H7:H9(6,7):(8,7))             sheet.getRow(6).getCell(5).setCellValue("武田信玄");             sheet.getRow(6).getCell(6).setCellValue(3564);             sheet.getRow(6).getCell(7).setCellValue(3);             sheet.getRow(7).getCell(5).setCellValue("上杉謙信");             sheet.getRow(7).getCell(6).setCellValue(2864);             sheet.getRow(7).getCell(7).setCellValue(1);             sheet.getRow(8).getCell(5).setCellValue("織田信長");             sheet.getRow(8).getCell(6).setCellValue(1588);             sheet.getRow(8).getCell(7).setBlank();             //エクセルファイルを書き込み             workbook.write(fos);         } catch (Exception e) {             e.printStackTrace();         }     } } | 














