Apache POI の xlsx 作成サンプル

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Date;

import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class Sample {
	public static void main(String[] args) {
		System.out.println("Excelブックを新規作成してファイル保存します.");
		final XSSFWorkbook xssfWorkbook = new XSSFWorkbook();
		System.out.println("Excelシートを新規作成します.");
		final XSSFSheet hssfSheet = xssfWorkbook.createSheet("Sheet1");
		if (hssfSheet == null) {
			System.err.println("予期せぬ例外.指定のExcelシート作成に失敗しました.");
			return;
		}
		System.out.println("シートに行を新規作成します.");
		final XSSFRow hssfRow = hssfSheet.createRow(0);
		if (hssfRow == null) {
			System.err.println("指定のExcel行の作成に失敗しました. "
					+ "なお、行は0オリジンとなっています。つまり1行目は 0 と指定します。");
			return;
		}

		System.out.println("行にA列を新規作成します.");
		XSSFCell hssfCell = hssfRow.createCell((short) 0);
		if (hssfCell == null) {
			System.err.println("指定のExcel列の作成に失敗しました. "
					+ "なお、列は0オリジンとなっています。つまりA列は 0 と指定します。");
			return;
		}
		hssfCell.setCellValue("値のセット");

		System.out.println("行にB列を新規作成します.");
		hssfCell = hssfRow.createCell((short) 1);
		if (hssfCell == null) {
			System.err.println("指定のExcel列の作成に失敗しました. "
					+ "なお、列は0オリジンとなっています。つまりB列は 1 と指定します。");
			return;
		}
		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.setCellValue(new Date());

		OutputStream outStream = null;
		try {
			outStream = new BufferedOutputStream(new FileOutputStream(
					"OutputExcel.xlsx"));
			xssfWorkbook.write(outStream);
			System.out.println("新規作成したExcelブックのファイル保存に成功しました.");
		} catch (IOException ex) {
			ex.printStackTrace();
		} finally {
			try {
				outStream.close();
			} catch (IOException ex2) {
				ex2.printStackTrace();
			}
		}
	}
}