目次へ

5.4 XlsDataset1

 これまでの章で紹介したFlatXmlDataSetは、テーブルのデータをXML形式で表していました。XlsDataSetを利用すれば、データセットをExcel形式のファイルに保存したり、Excelファイルを読み込んでデータセットを作ったりすることが可能です。XlsDataSetを使用するには、Apache POI が必要です。バイナリ版はここから取得できますので、インストールしてください。

まずは、データセットをExcel形式で保存してみましょう。XlsDataSetのwrite staticメソッドを使用します。

IDataSet acceptOrderDataSet = new DatabaseConnection(conn).createDataSet();
XlsDataSet.write(connection.createDataSet(), new FileOutputStream("data.xls"));

writeメソッドは1番目の引数にデータセット、2番目の引数に出力先のOutputStreamを指定します。上の例では、接続先データベースの全ての情報を、data.xlsファイルに保存しています。Excelファイルの形式は以下のようになります。

  • 1テーブル1シート。シート名はテーブル名。
  • 1行目はカラム名を表す。2行目以降、テーブルのデータを表す。

以下が例になります。

excel

接続先のデータベースにある2つのテーブル、「accept_order」と「customer」のシートが作成されます。customerシートの1番上の行は、テーブルのカラム名を表します。これでcustomerテーブルはc_num、c_name、address、officeの4つのカラムを持つことがわかります。2行目以降がcustomerテーブルに存在するデータです。customerテーブルには現在3つのデータが保存されています。

Excelファイルを読みこんでデータセットを作成するためには、コンストラクタにファイルを指定します。

IDataSet xlsData=new XlsDataSet(new File("data.xls"));

引数にしてするエクセルファイルの形式は、出力されるファイルの形式と同じように「1シート1テーブル・シート名はテーブル名・1行名はカラム」となるようにしてください。

実習課題3

2章の実習課題1のプログラムをXlsDataSetを使用するように修正しなさい。

1 2013/10/05 Jakarta POI は現在 Apache POI となっているため、記載内容及びリンク先を修正いたしました。

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp