質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JasperReports

JasperReportsはオープンソースの帳票生成ツールです。JasperReportはPDF, HTML, Microsoft Excel, ODT, XML等の様々なフォーマットのものをエクスポートします。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

1回答

1385閲覧

eclipseでの帳票出力について。

looow

総合スコア6

JasperReports

JasperReportsはオープンソースの帳票生成ツールです。JasperReportはPDF, HTML, Microsoft Excel, ODT, XML等の様々なフォーマットのものをエクスポートします。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2018/08/16 08:31

状況

eclipseでjasperReportsを使用し、帳票作成をしようと考えています。
Javaのパラメーターを帳票側で受け取りたいのですが、うまくいきません。

Java

1byte[] viewdata = null; 2try { 3 // PDF帳票クラス生成 4 CommonCreatePDF createPdf = new CommonCreatePDF("APS250.jrxml"); 5 6 // 帳票レイアウトコンパイル 7 createPdf.createLazyCompiledReport(context); 8 9 // サブ帳票レイアウトコンパイル 10 createPdf.createLazyCompiledReport(context, "APS250SUB.jrxml", "APS250SUB.jasper"); 11 // サブ帳票レイアウトコンパイル 12 createPdf.createLazyCompiledReport(context, "APS250SUB2.jrxml", "APS250SUB2.jasper"); 13 14 //帳票に出力するパラメーター設定 (登録画面情報取得) 15 HashMap<String, Object> params = new HashMap<String, Object>(); 16 params.put("SUBREPORT_DIR", "resources\report\"); 17 params.put("denCd",input.getDenCd()); //伝票番号 18 params.put("yCode", input.getyCode()); //郵便番号 19 params.put("address1", input.getAddress1()); //住所1 20 params.put("address2", input.getAddress2()); //住所2 21 params.put("customersName", input.getCustomersName()); //社名 22 params.put("mailing", input.getMailing()); //宛名 23 params.put("dDate", input.getdDate()); //受渡期日 24 params.put("eDate", input.geteDate()); //有効期限 25 params.put("pay", input.getPay()); //支払方法 26 params.put("fare", input.getFare()); //運賃 27 params.put("areaName", input.getAreaName()); //地区名 28 params.put("rName", input.getrName()); //担当名 29 params.put("remarks1", input.getRemarks1()); //備考1 30 params.put("remarks2", input.getRemarks2()); //備考2 31 params.put("remarks3", input.getRemarks3()); //備考3 32 params.put("kubun", kubun); //処理区分名称(発行画面) 33 34 35 Vector vec = new Vector(); 36 int pageCnt = 0; 37 int dataCnt = 0; 38 39 for (int i = 0; i < productName.length; i++) { 40 HashMap map = new HashMap(); 41 int num = i + 1; 42 //数量、原価、商品ごとの小計情報を数値化 43 int suryo = Integer.parseInt(unitPrice_v[i]); 44 int genka = Integer.parseInt(supUnitPrice_v[i]); 45 int syokeig = Integer.parseInt(syokei[i]); 46 47 //合計金額(仕入れ値) 48 int goukei = suryo * genka; 49 String syokeiS = String.valueOf(goukei); 50 //粗利計算(利益額) 51 int rieki = syokeig - (genka * suryo); 52 String ararieki = String.valueOf(rieki); 53 54 55 map.put("productName",productName[i]); //商品名 56 map.put("quantity", quantity[i]); //容量 57 map.put("unitPrice_v" , unitPrice_v[i]); //数量 58 map.put("amountMoney_v" , amountMoney_v[i]); //単価 59 map.put("syokei", syokei[i]); //合計金額(単価*数量) 60 map.put("syokeiG", amountMoney_v[i]); //売り単価 61 62 map.put("supUnitPrice_v", supUnitPrice_v[i]); //仕入単価(原価) 63 map.put("genka",genka); //仕入単価合計(原価*数量) 64 map.put("ararieki", ararieki); //粗利益(利益額) 65 map.put("syohizei", syohizei[i]); 66 67 vec.add(map); 68 dataCnt++; 69 70 if (dataCnt == 13) { 71 params.put("subdata", new JRMapCollectionDataSource(vec)); 72 params.put("subdata2", new JRMapCollectionDataSource(vec)); 73 params.put("subdata3", new JRMapCollectionDataSource(vec)); 74 75 // データソース作成 76 JRMapCollectionDataSource datasource = new JRMapCollectionDataSource(vec); 77 78 // 1ページ目作成 79 if (pageCnt == 0) { 80 createPdf.createPdfData(false, params, datasource); 81 } else { 82 createPdf.createPdfData(true, params, datasource); 83 } 84 85 pageCnt++; 86 // 初期化 87 dataCnt = 0; 88 vec = new Vector(); 89 } 90 } 91 92 // 13明細未満の場合 93 if (dataCnt > 0) { 94 for (int i = 0; i < 13 - dataCnt; i++) { 95 HashMap map = new HashMap(); 96 int num = i + 1; 97 map.put("productName",""); //商品名 98 map.put("quantity", ""); //容量 99 map.put("unitPrice_v", ""); //数量 100 map.put("amountMoney_v", ""); //単価 101 map.put("syokei", ""); //合計金額(単価*数量) 102 map.put("syokeiG", ""); //売り単価 103 104 map.put("supUnitPrice_v", ""); //仕入単価(原価) 105 map.put("genka",""); //仕入単価合計(原価*数量) 106 map.put("ararieki", ""); //粗利益(利益額) 107 map.put("syohizei", ""); 108 vec.add(map); 109 110 } 111 112 params.put("subdata", new JRMapCollectionDataSource(vec)); 113 params.put("subdata2", new JRMapCollectionDataSource(vec)); 114 params.put("subdata3", new JRMapCollectionDataSource(vec)); 115 116 // データソース作成 117 JRMapCollectionDataSource datasource = new JRMapCollectionDataSource(vec); 118 119 // 1ページ目作成 120 if (pageCnt == 0) { 121 createPdf.createPdfData(false, params, datasource); 122 } else { 123 createPdf.createPdfData(true, params, datasource); 124 } 125 } 126 127 // 作成された 128 viewdata = createPdf.createPdfData(); 129 130 131 132} catch (CommonException e) { 133 134 135 throw e; 136} catch (Exception e) { 137 throw new CommonException(MessageConst.MSGID_E00001, MessageConst.MSG_TYPE_SYSTEM_ERROR, e); 138} 139 140return viewdata; 141```### ソース説明 142上記コードで、帳票にパラメータを渡そうと考えています。 143 144### **質問内容** 145"Dataset and query Dialog" でパラメータの受取設定ができるとWebに載っていたので、 146その方法を試そうと思ったのですが、"Dataset and query Dialog"の設定ページ?が開けません。 147 148どうすればこのダイアログを開くことができるでしょうか? 149また、パラメータを渡せていないので開けないのかな、とも思ったのですが、 150それは関係ありますか? 151### 試したこと 152・jasperReportsのアウトラインから"Dataset and query Dialog"をクリック。 153・プロパティから"Edit query, filter and sort options"をクリック。 154 155どちらも反応はありませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

帳票のソースに<parameter>でJavaから送ったパラメータ名を記述することで、受け取ることができた。

投稿2018/08/23 08:30

looow

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問