huruyosi’s blog

プログラミングとかインフラとかのメモです。

JasperReports

Jasper ReportでExcelを作成した時にExcelの数式にする

やりたいこと 下の様に出力されるExcelを作ります. A B ~ U V W X 1 日付 曜日 ~ EC 実店舗 その他 合計 2 1月1日 金 ~ 12 4 =sum(U2:W2) 3 1月2日 土 ~ 68 78 =sum(U3:W3) システム化されているECサイト(U列)と実店舗(V列)での販売数量に加えて、紹介な…

リリース用のパッケージを作成する時にJasperReportの.jrxmlをコンパイルする方法

課題 今はiReportで.jrxmlのデザインとコンパイルを行い出力された.jasperをソースの一部としてリポジトリにコミットしているが、時折、.jasperがコミットされないことがあるので、リリース用のパッケージを作成する時にコンパイルしパッケージに含めること…

spring boot をjar で実行した時にjasper reportのサブレポートを指定する

前回の記事でTODOで残った件です。 huruyosi.hatenablog.com java.io.InputStream を使う ググってみるとサブレポートのsubreportExpressionのclassにjava.io.InputStreamを指定し、値に getClass().getResource("/path/to/my/report/in/a/jar/subreport.jas…

AbstractViewを継承してJasperReportでCSVファイルを作成する

CSVファイルをダウンロードする実装として、CSV形式でレンダリングするviewを実装します。 実装 コントローラー パラメータに応じてデータを検索します。検索結果はbeanのListに設定します。 org.springframework.web.servlet.view.AbstractViewの具象クラス…

Jasper Reportのクロス集計で横軸が1ページを超えた時には改ページさせる

クロス集計(crosstab)を使った集計を行った結果が横軸が1ページの幅を超えた時に、縦方向に空きがあるとクロス集計が2行になって表示れます。 stackoverflow.com この場合には、 crosstabのプロパティ「Column Break Offset」を印刷範囲の横幅と同じにするこ…

Jasper Reportのクロス集計を使った場合に、すべてのページに「ページヘッダー」を表示する

Jasper Reprotでクロス集計を行いSummary部に配置した場合に、クロス集計の結果大きくなり、用紙に収まらないいと、次ページに続きが出力されます。この場合に、ページヘッダーが出力されないので、レイアウトとして間抜けになります。 この対策はこのページ…

JFreeChartで作成したグラフをSVGにしてJasperReportsに反映する

目的 JasperReportsが提供するグラフの機能では、データ構造の関係で目的のグラフを作成できないと判断した。JFreeChartを直接利用してグラフを作成し、JasperReportsの Image expression に反映する方法です。 JasperReportsの出力物はpdfファイルです。 環…