1: アプリの概要 小さなウェブアプリアプリです 15 店舗の売店 飲食店の売上集計 管理システム 各店舗が CSV 形式になっている売店のレジデータを本社にアップロードする 1 日 1 回 毎日アップロードされるデータを集計し 約 10 帳票の管理資料を作成する 管理資料はエクセルシートに出力する

Similar documents
Javaの作成の前に

無料で多機能な OSS の ETL ツール Kettle を使ってみよう! 情報政策課技術職員金森浩治 1. はじめにデータ処理を行うにあたって非常に便利なツール ETL 本稿では OSS の ETL Kettle の機能とその使用方法を紹介します 2. 用語説明 2.1 OSS とは? OSS と

(Microsoft PowerPoint - HP\227pWASABI\217\320\211\356\216\221\227\277.ppt)

メディプロ1 Javaプログラミング補足資料.ppt

WagbySpec7

10th Developer Camp - B5

BIP Smart サンプル説明書

PowerPoint Presentation

java_servlet2_見本

-9- (2) 画面表示 () で指定した条件のレポートを 画面に表示します () の条件入力完了後 表示 をクリック 画面の表示に時間がかかる場合があります 2 検索結果が表示されます ソート順を変更できます 3 3 詳細 をクリック 4 選択した電話番号の 請求金額内訳が表示されます

前ページからの続き // テキストボックス02 id 属性で取得 // id 属性で取得する場合は一意に決まるので 何番目かの指定は不要 var textbox02elem = document.getelementbyid("text_box02_id"); if ("001" == statee

変更された状態 同様に価格のセルを書式設定する場合は 金額のセルをすべて選択し 書式 のプルダウンメニューか ら 会計 を選択する すると が追加され 金額としての書式が設定される 金額に と が追加 会計 を設定 2.2. テーブルの設定 ここでは 書式設定された表をテーブルとして Excel に

Create!Form V11 - 機能リファレンス - テスト実行

POWER EGG V2.01 ユーザーズマニュアル 汎用申請編

JUnit 概要 2015/4/16 版今泉俊幸 2015 bbreak Systems 1

PDF 帳票作成ガイドブック 第 1.1 版平成 30 年 9 月 1 日制定 株式会社中電シーティーアイ

MultiLABELISTOCX と MultiLABELISTV4 MLOCX は MLV4 のレイアウト発行機能を継承しています したがって MLV4 の振分発行やプ リセット発行を使用するための登録情報は使用できません MLV4 のレイアウト管理でレイアウトを作成すると 拡張子が m lay

Oracle BI Publisherを利用したレポートの作成

大阪ガス株式会社 情報通信部 御中

Java言語 第1回

PALNETSC0184_操作編(1-基本)

VVB6システムからSeasar2を用いたWebシステムへの移植

Maser - User Operation Manual

intra-mart WebPlatform/AppFramework

JavaプログラミングⅠ

Android Layout SDK プログラミング マニュアル

変更履歴 版数変更日変更内容 /9/1 初版設定

HTTP 404 への対処

1. 開発ツールの概要 1.1 OSS の開発ツール本書では OSS( オープンソースソフトウェア ) の開発ツールを使用します 一般に OSS は営利企業ではない特定のグループが開発するソフトウェアで ソースコードが公開されており無償で使用できます OSS は誰でも開発に参加できますが 大規模な

メディプロ1 Javaサーブレット補足資料.ppt

Web Performer V2.0 カタログ

WebReportCafe

CubePDF ユーザーズマニュアル

TestDesign for Web

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

SystemDirector Developer's Studio(V3.2) 適用ガイド

2

Shareresearchオンラインマニュアル

XMLとXSLT

PowerPoint プレゼンテーション

Prog2_9th

PHP 開発ツール Zend Studio PHP アフ リケーションサーハ ー Zend Server OSC Tokyo/Spring /02/28 株式会社イグアスソリューション事業部

メールサーバ仕様変更に伴うメール設定変更方法

PowerPoint プレゼンテーション

New:Oracle BI Publisher 11g Release が新登場

サーブレット (Servlet) とは Web サーバ側で動作する Java プログラム 通常はapache 等のバックグラウンドで動作する Servletコンテナ上にアプリケーションを配置 代表的な Servlet コンテナ Apache Tomcat WebLogic WebSphere Gla

オブジェクト指向プログラミング・同演習 5月21日演習課題

Access のようなデータベースはないの? 答えは あります OOo は下記の なんちゃって Access の機能を持っています テーブルの作成とデータ操作が可能 クエリでデータの抽出 関連付けが可能 入力フロントエンドになるフォームの作成が可能 宛名ラベル レポートなどの印刷機能 データソース画

ETOS 画面の Web 化 / 帳票印刷のオープン化体験お試し変換サービスのご紹介 ACOS-4 システムの業務改善提案

SpringSecurity

POWER EGG2.0 Ver2.8 スタートアップガイド ~Webデータベース 応用編~

PowerPoint Presentation

<< 目次 >> 1 PDF コンバータのインストール ライセンスコードの入力 PDF にフォントを埋め込みたい場合の設定 PDF オートコンバータ EX で使用しない場合 PDF コンバータ単体で使用する場合の説明 PDF コンバータのアン

ICLT 操作マニュアル (2011 年 05 月版 ) Copyright 2011NE 東京株式会社 All Rights Reserved

ことばを覚える

目次 目次 はじめに ライセンスに関して 作成の流れ デザイン作成 基本的なデザイン手順...4 テンプレートの作成...4 デザイン方法...5 機能 サンプルのテンプレートを作成する...6 作成するデザインにつ

Copyright 2014 NTT DATA Corporation 2 INDEX 1. 一括請求 Assist とは 1-1. でんさいに係るサービスの関係性 1-2. 一括請求 Assist の必要性 1-3. 一括請求 Assist の特長 2. 機能紹介 2-1. 一括請求 Assist

WEBシステムのセキュリティ技術

Fujitsu Standard Tool

目次 1. テンプレートの準備 1.1 エクセルファイルの準備 1.2 タグを作成する 1.3 エクセルファイルの表示調整 2.PC へテンプレートを追加 3.iPad での ICLT の操作 3.1 入力者の操作 入力者のログイン テンプレートを更新する チェッ

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

PDFオートコンバータEX

PowerPoint プレゼンテーション

Microsoft Word - ModelAnalys操作マニュアル_

Microsoft Office Visioによる 施設管理について

■サイトを定義する

Javaセキュアコーディングセミナー2013東京第1回 演習の解説

Rmenuフレームワーク

Microsoft Office Excel 2007 と Excel 2003 の比較

参考資料 分析ツールからダウンロードするデータについて < 行為明細 > 行為明細データを使いましょう (EVE をお使いの場合は ヘルプの行為明細ダウンロードを参照 ) 各分析ツールのマニュアルを参考にしてください

注意事項 (1)Windows 10 を使用する場合 注意事項 1 注意事項 3 注意事項 4 についてご対応をお願いします (2)Windows 8.1 を使用する場合 注意事項 2 注意事項 3 注意事項 4 についてご対応をお願いします (3)Windows 7 上で Internet Exp

Transcription:

日本 JasperServer ユーザ会 (JJSUG) 勉強会発表資料 Web アプリで JasperReportsLibary を使った事例 2013 年 1 月 27 日 ( 株 ) アプセル吉田悟

1: アプリの概要 小さなウェブアプリアプリです 15 店舗の売店 飲食店の売上集計 管理システム 各店舗が CSV 形式になっている売店のレジデータを本社にアップロードする 1 日 1 回 毎日アップロードされるデータを集計し 約 10 帳票の管理資料を作成する 管理資料はエクセルシートに出力する JasperReport に感謝 ( アプリの画面イメージ )

アプリの動作イメージ ( 画面イメージ ) 売上一覧表 (Excel シート ) 店舗 : レストランA 集計期間 : 2012/09/01 から 2012/09/30 まで null 商品コード 商品名 販売単価 仕入単価 販売個数 販売金額 原価 粗利額 原価率 6411000000404 0.00 0.00 1 477 0 477 0.000 6411000000763 ハーブキャンディー 480.00 230.00 2 572 460 112 0.804 4988375000596 0.00 0.00 1 476 0 476 0.000 6411000000251 0.00 0.00 1 381 0 381 0.000

2: 動作環境 ( ソフトウェア ) <サーバー > OS :Ubuntu12.04 DB :PostgreSQL9.1 アプリケーション開発言語 :Java7(OpenJDK1.7) アプリケーションサーバー :Glassfish3.1.2CommunityEdition(JavaEE6) view :JSF2(JavaServerFaces)+HTML+CSS+PrimeFaces3.2 IDE :NetBeans7.2 レポート (Exceシート) 作成ツール :ireport4.7 + JasperReport < クライアント > ブラウザ :IE or Firefox サーバー環境は全て OSS ( ライセンスの難しいところはよくわかりませんが )

3: 帳票書式作成 3 1: 作成物の概要レポート書式作成ツール ireport を使って Excel 表の書式を作成 << 今回作成した帳票レイアウト >> おおよその作業の流れレポートインスペクターでフィールド (Field) とパラメータ (Parameters) と変数 (Variables) を作る デザインウィンドウに配置しする コンパイルする 実行環境に配備する

3: 帳票書式作成 3 2:iReport と JasperReport の関連 書式定義ファイル xxxx.jrxml 作成 読込 ireport コンパイル Jasper ファイル xxxx.jasper データソース CSV エクセル RDB JavaBeans JasperReports 生成 PDF XSL Engine 帳票のフィールドに該当 ODF CSV HushMap param1=value1 param2=value2 帳票のパラメータに該当

3: 帳票書式作成 3 3: 書式ファイルの新規作成 ファイル New Blank A4Landscape Open thistemplate

3: 帳票書式作成 3 3: 書式ファイルの新規作成 Ireport のデザイン画面はバンドと呼ばれる帯域に分かれていてバンドによって印刷されるタイミング 回数が異なります Title Band PageHeader Band ColumnHeader Band Detail Band ColumnFooter Band PageFooter Band Summary Band

3: 帳票書式作成 3 4: フィールドの作成 レポートインスペクタ画面で Field を右クリックしてフィールドを追加します 今回のデータソースは JavaBeans の Collection ですので フィールド名は JavaBeans のプロパティ名と一致させました デザインウィンドウの右にあるプロパティウィンドウで型 (FieldClass) も Java の型に合わせました : データソースの設定は 今回 Emptydatasource で作成しました データソースの設定に JavaBeans set datasource があるのですが 意味も設定値もわかりません どなたかご存知であれば教えて下さい :Reportquery にも JavaBeans datasource があり JavaBeans のフルパスを設定するとあるのですが 認識させることができませんでした 結果 ここも何も設定していません

3: 帳票書式作成 3 4: フィールドの作成 Detail Band にドラッグ & ドロップする Fields にある項目のプロパティと Detail にある項目は 同じ項目名でもプロパティは別なので念の為

4: プログラム作成 4 ー 1:JSF JSF とは :HTML の中に JSF のタグを書き JSF タグを解釈することで動的に HTML を生成するフレームワーク JSF タグの中には管理 Bean(Java のクラス ) とそのメソッド名を書いてその戻り値を表示できる JSFの一部 (.xhtml) <ui:define name="selectconditionsright"> <h:form> <h:commandbutton actionlistener="#{genkareportcontroller.xls}" value="xlsに出力 "/> </h:form> </ui:define> 管理 Bean 名メソッド名 JasperReportsのLibraryを使ってエクセルのシートを生成するメソッドです

4: プログラム作成 4 ー 2: 管理 Bean 管理 Bean とは : ブラウザから入力されたデータを受け取り バックエンドの機能に対して処理を要求する またバックエンドの機能からデータを入力しブラウザへ返送する為のメソッドを持つ Java クラス JSF エンジンの管理下にある データを添えて処理を依頼 管理 Beanの一部ブラウザ (JSF) から呼ばれる public void xls(actionevent actionevent) throws JRException, IOException{ String jaspername = "rirongenka.jasper"; // レイアウト定義ファイル String outputname = "rirongenka.xls"; ReportFileFactory rff = new ReportFileFactory(); rff.createfile(jaspername,listgenkareport,outputname,createhashmap()); } public HashMap createhashmap(){ JavaBeansのCollection SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); String todate = sdf.format(selectconditions.gettodate()); } Integer inttenpocode = Integer.parseInt(selectConditions.getSelectedTenpo()); Tenpo tenpo = ejbfacade.find(inttenpocode); HashMap hmap = new HashMap(); hmap.put("tenpo", tenpo.getname()); hmap.put("from_date", selectconditions.getfromdate()); hmap.put("to_date", todate); return hmap; ireport のパラメータ名 値

4: プログラム作成 4 ー 3: ビジネスロジック JasperReports の Libray を使って Excel シートを生成します public void createfile(string jaspername, List reportdatalist, String outputname, HashMap hmap) { String jasperfilepath = FacesContext.getCurrentInstance().getExternalContext(). getrealpath( "/resources/jasper/" + jaspername); try{ JRBeanCollectionDataSource beancollectiondatasource=new JRBeanCollectionDataSource(reportDataList); jasperprint = JasperFillManager.fillReport(jasperFilePath, hmap,beancollectiondatasource); try{ HttpServletResponse httpservletresponse=(httpservletresponse)facescontext.getcurrentinstance().getexternalcontext().getresponse(); httpservletresponse.addheader("content-disposition", "attachment; filename=" + outputname); ServletOutputStream servletoutputstream=httpservletresponse.getoutputstream(); JRXlsExporter xlsexporter=new JRXlsExporter(); xlsexporter.setparameter(jrexporterparameter.jasper_print, jasperprint); xlsexporter.setparameter(jrexporterparameter.output_stream, servletoutputstream); xlsexporter.exportreport(); FacesContext.getCurrentInstance().responseComplete(); }catch(exception e){ logger.warning(" エクセルデータを返送する際にエラーがありました " + e.getclass().tostring()); JsfUtil.addErrorMessage(" エクセルデータを返送する際にエラーがありました "); JsfUtil.addErrorMessage(e.getClass().toString()); }

5: むすびに 今回のシステムは 本当に数えきれない多数のオープンソースソフトウェアのおかげで構築することができています Ubuntu PostgreSQL OpenJDK Glassfish HTML CSS PrimeFaces NetBeans ireport JasperReport 等などのコミュニティーの皆さんが 先人の成果をソースコードその他の形で継承し 維持 発展させていく情熱と努力に敬意と感謝を表します また上記の成果物はそれを構成する自由なライセンスのライブラリーによって成り立っています まさに数えきれない多くの方々の貢献の成果を利用させて頂いており それらに関わる また関わってきた全ての方々に感謝します 先人の成果を継承 発展させていく活動の中で ソフトウェアを作成 提供する方々が知的欲求の充足 周りの人からの感謝 報酬などの形で何らかの喜びが得られることと 利用者とソフトウェアを共有し 対話することで皆が喜びを得られることを願っています 2013 年 1 月 27 日 ( 株 ) アプセル吉田悟 syoshida@appcel.jp この資料は LibreOffice Impress で作成しました