| 広告: イマドキのIDE事情: Eclipseベースの統合翻訳環境「Benten」を使ってみよう 09/27 たげぞうさんの手による Benten 紹介記事! |
| JExcelApi (Java Excel API) を用いたExcelファイルを新規作成するサンプル |
JExcelApiを使ってExcelブックを新規作成するサンプルです。
確認に利用した動作環境
動作条件
JxlWriteExcelSample.java
/* * JExcelApi (Java Excel API): Excelファイルの新規作成サンプル * Copyright (C) 2005 伊賀敏樹 * 作成日: 2005/02/21 */ import java.io.File; import java.io.IOException; import java.util.Calendar; import java.util.Date; import jxl.Workbook; import jxl.WorkbookSettings; import jxl.write.DateTime; import jxl.write.Label; import jxl.write.Number; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; /** * @author Tosiki IGA */ public class JxlWriteExcelSample { public static void main(String[] args) { System.out.println("Excelブックを新規作成してファイル保存します."); WritableWorkbook workbook = null; try { try { WorkbookSettings settings = new WorkbookSettings(); // System.gc()「ガベージコレクション」の実行をOFFに設定 settings.setGCDisabled(true); workbook = Workbook.createWorkbook(new File("OutputExcel.xls"), settings); if (workbook == null) { System.err.println("予期せぬ例外.指定のExcelブック作成に失敗しました."); return; } } catch (IOException ex) { System.err.println("予期せぬ例外.指定のExcelブック作成に失敗しました." + "ファイルがロックされているなどの可能性があります:" + ex.toString()); return; } System.out.println("Excelシートを新規作成します."); WritableSheet sheet = workbook.createSheet("Sheet1", 0); if (sheet == null) { System.err.println("予期せぬ例外.指定のExcelシート作成に失敗しました."); return; } System.out.println("A列1行に文字列セルを新規作成します."); Label label = new Label(0, 0, "これは文字列です"); try { sheet.addCell(label); } catch (WriteException ex) { System.err .println("予期せぬ例外.セルの書き込みに失敗しました(1).:" + ex.toString()); } System.out.println("A列2行に数値セルを新規作成します."); Number number = new Number(0, 1, 1234.5678); try { sheet.addCell(number); } catch (WriteException ex) { System.err .println("予期せぬ例外.セルの書き込みに失敗しました(2).:" + ex.toString()); } System.out.println("B列1行に日付セルを新規作成します."); Date now = Calendar.getInstance().getTime(); DateTime datetime = new DateTime(1, 0, now); System.out.println("※単純に new Date()を与えると、タイムゾーン分ずれます."); try { sheet.addCell(datetime); } catch (WriteException ex) { System.err .println("予期せぬ例外.セルの書き込みに失敗しました(3).:" + ex.toString()); } try { workbook.write(); } catch (IOException ex) { System.err.println("予期せぬ例外.ワークブックの書き込みに失敗しました.:" + ex.toString()); } System.out.println("新規作成したExcelブックのファイル保存に成功しました."); } finally { try { if (workbook != null) { workbook.close(); } } catch (WriteException ex) { System.err.println("予期せぬ例外.ワークブックのクローズに失敗しました(1).:" + ex.toString()); } catch (IOException ex) { System.err.println("予期せぬ例外.ワークブックのクローズに失敗しました(2).:" + ex.toString()); } } } }
更新履歴
他のJExcelApiのサンプル
他のAPIによる同様の実装