top / index / prev / next / target / source
日記形式でつづる いがぴょんコラム ウェブページです。
JExcelApi (Java Excel API)を用いたExcelファイルを新規作成するトイプログラムを作りました。サンプルソースコードをメモしておきます。
JExcelApiを使ってExcelブックを新規作成するサンプルです。
確認に利用した動作環境
動作条件
JExcelApi にクラスパスが通してあること
/*
* 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のサンプル
Last modified: $Date: 2018-04-18 $