top / index / prev / next / target / source
日記形式でつづる いがぴょんコラム ウェブページです。
Jakarta POIを用いたExcelファイルを新規作成するトイプログラムを作りました。サンプルソースコードをメモしておきます。
Jakarta POIを使ってExcelブックを新規作成するサンプルです。
確認に利用した動作環境
Sun Java2 SDK 1.4.2_02 (Windows版)
動作条件
Jakarta POI にクラスパスが通してあること
poi-2.5.1-final-20040804.jar
poi-contrib-2.5.1-final-20040804.jar
PoiWriteExcelSample.java
/*
* Jakarta POI: Excelファイルの新規作成サンプル
* Copyright (C) 2005 伊賀敏樹
* 作成日: 2005/02/13
*/
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Date;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
/**
* @author Tosiki IGA
*/
public class PoiWriteExcelSample {
public static void main(String[] args) {
System.out.println("Excelブックを新規作成してファイル保存します.");
HSSFWorkbook hssfWorkbook = null;
hssfWorkbook = new HSSFWorkbook();
System.out.println("Excelシートを新規作成します.");
HSSFSheet hssfSheet = hssfWorkbook.createSheet("Sheet1");
if (hssfSheet == null) {
System.err.println("予期せぬ例外.指定のExcelシート作成に失敗しました.");
return;
}
System.out.println("シートに行を新規作成します.");
HSSFRow hssfRow = hssfSheet.createRow(0);
if (hssfRow == null) {
System.err.println("指定のExcel行の作成に失敗しました. "
+ "なお、行は0オリジンとなっています。つまり1行目は 0 と指定します。");
return;
}
System.out.println("行にA列を新規作成します.");
HSSFCell hssfCell = hssfRow.createCell((short) 0);
if (hssfCell == null) {
System.err.println("指定のExcel列の作成に失敗しました. "
+ "なお、列は0オリジンとなっています。つまりA列は 0 と指定します。");
return;
}
hssfCell.setEncoding(HSSFCell.ENCODING_UTF_16);
hssfCell.setCellValue("値のセット");
System.out.println("行にB列を新規作成します.");
hssfCell = hssfRow.createCell((short) 1);
if (hssfCell == null) {
System.err.println("指定のExcel列の作成に失敗しました. "
+ "なお、列は0オリジンとなっています。つまりB列は 1 と指定します。");
return;
}
hssfCell.setEncoding(HSSFCell.ENCODING_UTF_16);
hssfCell.setCellValue(123456.78);
System.out.println("行にC列を新規作成します.");
hssfCell = hssfRow.createCell((short) 2);
if (hssfCell == null) {
System.err.println("指定のExcel列の作成に失敗しました. "
+ "なお、列は0オリジンとなっています。つまりC列は 2 と指定します。");
return;
}
hssfCell.setEncoding(HSSFCell.ENCODING_UTF_16);
hssfCell.setCellValue(new Date());
OutputStream outStream = null;
try {
outStream = new BufferedOutputStream(new FileOutputStream(
"OutputExcel.xls"));
hssfWorkbook.write(outStream);
System.out.println("新規作成したExcelブックのファイル保存に成功しました.");
} catch (IOException ex) {
ex.printStackTrace();
} finally {
try {
outStream.close();
} catch (IOException ex2) {
ex2.printStackTrace();
}
}
}
}
他のJakarta POIのサンプル
他のAPIによる同様の実装
2005/02/21 日記: Java: JExcelApi (Java Excel API) を用いたExcelファイルを新規作成するサンプル
2005/06/10 日記: Java: OpenOffice.org SDKを用いた Excelファイルを新規作成するサンプル