biz-Streamマニュアル Excel出力ガイド 第4章 サンプルプログラム 4.1 Excelファイルを生成するサンプル

4.1 Excelファイルを生成するサンプル

概要

ここでは、レイアウトファイル(XMLファイル)を読込み、Excelファイルとして出力する例を記述します。

ファイルの出力形式は、Microsoft Excel 97ファイル形式 (xls形式) または Microsoft Excel 2007ファイル形式 (xlsx形式) を選択することができます。出力形式の指定方法については 『1.3 Excelの出力ファイル形式』をご参照ください。 以下のサンプルでは、出力ファイル名からxlsx 形式を指定しています。

サンプル構成

項目 ファイルパス
ドキュメントレイアウトサンプル <biz-Stream_home>/sample/excel_csv/ExcelSample_doc.xml サンプル1
ページレイアウトサンプル <biz-Stream_home>/sample/excel_csv/ExcelSample_page.xml サンプル1
CSVデータソース(ヘッダデータ) <biz-Stream_home>/sample/excel_csv/header.csv サンプル1
CSVデータソース(明細データ) <biz-Stream_home>/sample/excel_csv/detail.csv サンプル1
ソースサンプル <biz-Stream_home>/sample/excel_csv/XmlToXlsxSample.java サンプル1
出力結果サンプル(xlsx形式) <biz-Stream_home>/sample/excel_csv/XmlToXlsxSample.xlsx サンプル1
出力結果サンプル(xls形式) <biz-Stream_home>/sample/excel_csv/XmlToXlsSample.xls サンプル1


ソースサンプル


import java.io.FileNotFoundException;
import java.io.IOException;

import com.brainsellers.xml.JaxpXML;
import com.brainsellers.xml.common.XMLSuper;
import com.brainsellers.xml.page.ExcelEngine;

class XmlToXlsxSample {
	// XMLファイル名
	private String xml_file = "${base-dir}/sample/excel_csv/ExcelSample_doc.xml";

	// Excelファイル名
	private String xlsx_file = "${base-dir}/sample/excel_csv/XmlToXlsxSample.xlsx";
	// private String xls_file = "${base-dir}/sample/excel_csv/XmlToXlsxSample.xls";

	public static void main(String argv[]) {
		new XmlToXlsxSample(argv);
		System.exit(0);
	}

	/**
	 * コンストラクタ
	 *
	 * @param argv
	 *            起動時の引数
	 */
	public XmlToXlsxSample(String argv[]) {
		try {
			// (1) 出力ファイル名を指定する
			ExcelEngine excel = new ExcelEngine(xlsx_file);

			// (2) ストリーム出力の場合は setFormat を使用して出力ファイル形式を指定する
			// ファイル名指定の場合は、(1)の出力ファイル名で指定した拡張子よりも setFormat で指定したファイル形式が優先される
			// excel.setFormat(ExcelEngine.FORMAT_XLSX); // xlsxファイル形式
			// excel.setFormat(ExcelEngine.FORMAT_XLS);  // xlsファイル形式

			// (3) ワークシートの設定を行う
			excel.setMultiSheet(true);     // 改ページごとにワークシートを生成して出力
			// excel.setMultiSheet(false); // 単一ワークシートに出力

			// (4) 出力はExcel出力エンジンを指定する
			XMLSuper xml = new JaxpXML(xml_file, excel);

			// (5) レイアウト情報(XML)の解析を行う
			xml.parse();

			// (6)データソースを設定する
			// 表のヘッダ
			xml.setDataSource("header-data","${base-dir}/sample/excel_csv/header.csv", "UTF-8");
			// 表の明細データ
			xml.setDataSource("detail-data","${base-dir}/sample/excel_csv/detail.csv", "UTF-8");

			// (7) 座標計算を行う
			xml.calcDataSize();

			// (8) Excelデータの生成
			xml.toPDF();

			// (9) Excelファイルを出力する
			xml.close();

		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
  • biz-Streamを利用する場合には、製品ライセンスチェックの仕組みにより、明示的にSystem.exit(0)を呼び出さない限り、Javaのプロセスは終了しません。 ただし、Servletで本機能を使用する際は上記命令の記載は必要ありません。