ジャスパーレポートを使用して、エクセル形式でダウンロードする時に、表示されているレポートを任意のシートに分ける方法について調査及び研究し、その成果をまとめています。
ジャスパーレポートのエクセル形式でのダウンロード
ジャスパーレポートは、PDF形式だけではなく、エクセル形式でもダウンロードできます。PDFで表示されているように、エクセルにもダウンロードできるので、結構使いがってがあり重宝する機能なのではないかと思います。
オープンソースのERP iDempiereでは、ジャスパーレポートの表示形式を選べるようになっており、エクセル(Excel)を選択すると、エクセルファイルがダウンロードされます。
エクセル形式でダウンロードする時に、レポートの内容を任意のシートに分ける
ジャスパーレポートをエクセルにダウンロードするのは、とても便利な機能なので、場合によってはレポートの内容を任意のシートに分割してダウンロードしたくなるのではないかと思います。
ここでは、1枚名と2枚目のレポートを別々のエクセルシートにダウンロードする事を例に説明します。
シートを分割したい箇所に、Staticテキストを配置して、シート分割の起点とする
Jaspersoft Studioで、シートを分割してダウンロードしたい箇所に、Static Textのエレメントを配置します。配置したStatic Textエレメントは空欄(ブランク)にして下さい。
配置したStatic Textエレメントのプロパティ設定で、Appearenceタブの最下部にある、Edit Propertiesボタンをクリックします。
沢山あるプロパティーの中に下記の2つのプロパティがあります。
- net.sf.jasperreports.export.xls.break.after.row
- net.sf.jasperreports.export.xls.break.before.row
語尾が"after.row”のプロパティーを"true"にすると、配置したStatic Textエレメントのあとが別シートとなります。語尾が"before.row"のプロパティーを"true"にすると、配置したStatic Textエレメントを含んで、別シートとなります。
jrxml上では、下記のようにstatic Textエレメントに、プロパティーが設定されているのが確認できます。
今回は、わざわざ空欄のStatic Textエレメントを配置していますが、他にシートを分割するのに適しているエレメントが既にレポート内にあるのであれば、それに対して上記のパラメーターを設定して試してみて下さい。
net.sf.jasperreports.export.xls.break.after.row をtrueにするとStatic Textのエレメントに上記のような表示がされます。
そうすると、net.sf.jasperreports.export.xls.break.after.row をtrueにしたStatic Textエレメントの箇所でエクセルシートを分割してダウンロードする事ができます。
エクセルシートの名称
プロパティーの「net.sf.jasperreports.export.xls.sheet.name」を使用すると、ダウンロードするエクセルのシート名も設定できるようです。色々と試してみて下さい。