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
![]() |
ページレイアウトサンプル |
<biz-Stream_home>/sample/excel_csv/ExcelSample_page.xml
![]() |
CSVデータソース(ヘッダデータ) |
<biz-Stream_home>/sample/excel_csv/header.csv
![]() |
CSVデータソース(明細データ) |
<biz-Stream_home>/sample/excel_csv/detail.csv
![]() |
ソースサンプル |
<biz-Stream_home>/sample/excel_csv/XmlToXlsxSample.java
![]() |
出力結果サンプル(xlsx形式) |
<biz-Stream_home>/sample/excel_csv/XmlToXlsxSample.xlsx
![]() |
出力結果サンプル(xls形式) |
<biz-Stream_home>/sample/excel_csv/XmlToXlsSample.xls
![]() |
ソースサンプル
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で本機能を使用する際は上記命令の記載は必要ありません。