Jasper Reportでundefinedエラー

こんにちわ。

以前、紹介したJasper Reportの続きです。

作成する帳票内にて、金額などの項目値はカンマ区切り表記して出力したいと思います。

なので、金額の項目に対してBuilt-in Functionの
INTEGER_VALUEなどを用いて流し込み元データの数値文字列を数値型にしてやるのが常套手段なのですが、デザイナ側でテンプレートにそれを設定していざPDF作成側のJavaを実行してみると以下のようなエラーが出ることがあります。

2. The method DATE() is undefined for the type Blank_A4_1467516573123_283469
value = DATE(); //$JR_EXPR_ID=11$
<-->
3. The method INTEGER_VALUE(String) is undefined for the type Blank_A4_1467516573123_283469
value = INTEGER_VALUE( ((java.lang.String)field_直接入金分65288料金65289.getValue())); //$JR_EXPR_ID=12$
<----------->

これは読み込んでいるライブラリが足りていないために起こるエラーです。
以下のサイトにアクセスし、jasperreports-functions***.jarを落として、Eclipseに組み込みましょう。

https://sourceforge.net/projects/jasperreports/files/jasperreports/

また、フォーマット処理などでDate型を扱う場合にはJodaライブラリも必要になりますのでMavenなどで落とすなりして組み込みましょう。
https://mvnrepository.com/artifact/joda-time/joda-time/2.9.4

あと、Jaspersoft Studio側で編集したjrxmlですが、Eclipse側で再読み込みする必要があります。実行前にEclipseのパッケージエクスプローラ上から該当のjrxmlをリフレッシュしてください。

以上、備忘録的な内容でした♪

コメントを残す

メールアドレスが公開されることはありません。