最近の更新

2012年10月3日水曜日

ExCella Reports1.4で行を繰り返しでJavaオブジェクトのフィールドをマッピングし合計を計算する方法

【目的】
ExCella Reports1.4のライブラリを使用し帳票・Excelのファイルで列方向にブロック単位で出力時にJavaオブジェクトのフィールドをマッピングし合計を計算します。



【手順】
1.「Javaプロジェクトの作成方法」の手順で、「ExCellaSample034-BlockRowRepeatJavaMappingSum」といプロジェクトを作成。
2.「excella-reports-1.4.jarとそれに依存ライブラリを設定する方法」の手順で、プロジェクトにExCella Reports1.4とそれに依存するライブラリを追加。
3.「BlockRowRepeatJavaMappingSumTemplate.xls」という名前の、以下の様なテンプレートファイルを作成し、「ExCellaSample034-BlockRowRepeatJavaMappingSum」直下に配置。





























4.「Javaクラスファイルの作成方法」の手順で、「Main」というクラスを作成。
5.「Main.java」を以下の様に入力。
import java.util.ArrayList;
import java.util.List;

import org.bbreak.excella.reports.exporter.ExcelExporter;
import org.bbreak.excella.reports.model.ReportBook;
import org.bbreak.excella.reports.model.ReportSheet;
import org.bbreak.excella.reports.processor.ReportProcessor;
import org.bbreak.excella.reports.tag.BlockRowRepeatParamParser;

public class Main {

    public static void main(String[] args) throws Exception {
        String templateFilePath = "BlockRowRepeatJavaMappingSumTemplate.xls";
        String outputFileName = "BlockRowRepeatJavaMappingSum";
        String outputFileDir = "";
        String outputFilePath = outputFileDir.concat(outputFileName);

        ReportBook outputBook = new ReportBook(templateFilePath,
                outputFilePath, ExcelExporter.FORMAT_TYPE);

        ReportSheet outputSheet = new ReportSheet("TemplateSheet", "Sheet1");
        outputBook.addReportSheet(outputSheet);


        List<Person> personList = new ArrayList<Person>();
        personList.add(new Person("あいうえお", "男", "21", 3000));
        personList.add(new Person("かきくけこ", "女", "28", 2000));
        personList.add(new Person("さしすせそ", "男", "32", 3000));
        outputSheet.addParam(BlockRowRepeatParamParser.DEFAULT_TAG, "参加者", personList.toArray());

        ReportProcessor reportProcessor = new ReportProcessor();
        reportProcessor.process(outputBook);
    }
}
6.「Ctrl+Shift+O」を押し、パッケージのインポート文を補完。
7.「Ctrl+Shift+F」を押し、ソースコードをフォーマッティング。
8.「Javaクラスファイルの作成方法」の手順で、「Person」というクラスを作成。
9.「Person.java」を以下の様に入力。
public class Person {
    private String name;
    private String gendar;
    private String age;
    private int pay;

    public Person(String name, String gendar, String age, int pay) {
        this.name = name;
        this.gendar = gendar;
        this.age = age;
        this.pay = pay;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getGendar() {
        return gendar;
    }

    public void setGendar(String gendar) {
        this.gendar = gendar;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public int getPay() {
        return pay;
    }

    public void setPay(int pay) {
        this.pay = pay;
    }
}
10.「Ctrl+Shift+O」を押し、パッケージのインポート文を補完。
11.「Ctrl+Shift+F」を押し、ソースコードをフォーマッティング。
12.「Javaプロジェクトの実行方法」の手順で、「Main.java」を実行。
13.コンソールにエラーが出力されていないか確認。
(※コンソールが表示されていない場合は、「コンソール・ビューの表示方法」を確認)
14.「リフレッシュ(ローカルファイルとの同期)の方法」の手順で、プロジェクトをリフレッシュ。
15.「ExCellaSample034-BlockRowRepeatJavaMappingSum/BlockRowRepeatJavaMappingSum.xls」が作成されています。
16.「ExCellaSample034-BlockRowRepeatJavaMappingSum/BlockRowRepeatJavaMappingSum.xls」をダブルクリック。
17.「BlockRowRepeatJavaMappingSum.xls」が以下の様に開けば成功です。





























以上です。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

関連記事