<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-28  評論-15  文章-81  trackbacks-0
    JasperReports是一個開源的java報表制作引擎
    http://jasperreports.sourceforge.net

    iReport是JasperReports的一個GUI工具,用來生成JasperReports的jrxml文件。
    http://ireport.sourceforge.net



    首先使用iReport制作報表的模板(我自己起的名詞):

        運行iReport,新建一個report。
        在Title band中輸入報表的名稱,好象使用pageheader band也可以,目前我還沒有弄明白2者具體的差別。
        在column header band中放置一些static text,做為報表的列標題。
        在detal band中放入一些textfield,顯示報表的詳細數據。
        在summary band中放入類似于"合計"之類的textfield,這個band是顯示在最后一行數據的下放。
        在LastPageFooter band中放入想在最后一頁顯示的信息,比如說"審閱人簽名"之類的。

    這樣報表的框架就基本上搭好了,然后compile一下檢查是否有錯誤,如果沒有錯誤那么就可以在程序中使用這個報表模板了。

    JasperReports介紹:
       
        使用JasperReports生成報表是非常簡單的,僅僅使用net.sf.jasperreports.engine包中的幾個類即可完成報表的生成、預覽、打印、導出等各個功能。

    1.  net.sf.jasperreports.engine.JasperCompileManager類。
        使用這個類的幾個靜態方法即可完成對報表的編譯工作(具體參見api文檔)
        編譯完成后可以JasperCompileManager有兩種處理方式:
           1> 返回一個JasperReport對象
           2> 在.jrxml文件所在的目錄生成一個.jasper文件
        這兩種方式是由程序員自己選擇的。不過我比較傾向使用.jasper文件,畢竟報表的結構不是每天都在改動,所以每次重新編譯報表并不是很劃算。

    2.  net.sf.jasperreports.engine.JasperFillManager類
        這個類的作用是用數據填充報表。它可以使用JasperReport對象也可以使用。jasper文件做為報表模板。
        它同樣有2中處理方式:
              1> 返回一個JsaperPrint對象。
              2> 在.jasper文件所在目錄生成一個.jrprint文件
        這個類使用net.sf.jasperreports.engine.JRDataSource接口的實現做為數據源。任何實現了JRDataSource的類均可做為數據源使用
        在net.sf.jasperreports.engine.data包中定義了一些數據源,可根據自己的需要選擇。這里我使用的是JRTableModelDataSource做為
        數據源(因為我的報表還要顯示在Table中)。

    3. net.sf.jasperreports.engine.JasperPrintManager和net.sf.jasperreports.engine.JasperExportManager
       者兩個類的作用是打印、導出報表
       他們使用 JasperPrint 和 .jrprint文件做為輸入。
       可以根據自己的需要使用里面的方法。

    例:
           import net.sf.jasperreports.engine.*;
           import net.sf.jasperreports.view.*;
           public class CompileReport {
              public static void main(String args[]) {
                 try {
                    //編譯report.jrxml并在report.jrxml所在的目錄中生成report.jasper文件
                    JasperCompileManager.compileReportToFile("report.jrxml");
                    //填充數據,這里使用的是JREmptyDataSource
                    JasperFillManager.fillReportToFile("report.jasper", null, new JREmptyDataSource(50));
                    //預覽報表,false代表不是使用xml文件。
                    JasperViewer view = new JasperViewer("reports.jrprint", false);
                    view.pack();
                    view.setVisible(true);
                 }
                 catch (Exception e) {
                    e.printStackTrace()
                 }
              }
           }
    posted on 2008-01-10 13:43 譚明 閱讀(637) 評論(0)  編輯  收藏 所屬分類: Oracle
    主站蜘蛛池模板: 亚洲色图古典武侠| 亚洲av最新在线网址| 亚洲精品美女网站| 99久久免费国产香蕉麻豆| 亚洲欧洲精品久久| 亚洲国产精品免费观看| 亚洲不卡在线观看| 处破痛哭A√18成年片免费| 亚洲色偷偷综合亚洲av78| 成全视频免费高清| 小说专区亚洲春色校园| 免费人成视频在线观看视频| 成人福利在线观看免费视频| 国产亚洲精品拍拍拍拍拍| 国内精品免费在线观看| 亚洲综合在线成人一区| 免费人成网站在线观看10分钟| 亚洲永久在线观看| 亚洲一级黄色视频| 人人玩人人添人人澡免费| 亚洲国产日韩在线成人蜜芽| 四色在线精品免费观看| www.av在线免费观看| 亚洲国产精品婷婷久久| 色窝窝免费一区二区三区| 色爽黄1000部免费软件下载| 亚洲AV日韩精品久久久久久 | 久久久综合亚洲色一区二区三区| 久久免费视频网站| 激情综合亚洲色婷婷五月APP| 免费黄色网址入口| 国产做国产爱免费视频| 亚洲特级aaaaaa毛片| 免费A级毛片无码A| 无码成A毛片免费| 亚洲av无码片vr一区二区三区| 亚洲乱码日产一区三区| 日韩精品无码区免费专区| 一级黄色免费大片| 亚洲天堂中文字幕在线观看| 亚洲成年人啊啊aa在线观看|