<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无码免费高潮水| 国产香蕉免费精品视频| 亚洲av无码一区二区三区网站 | 久久国产免费观看精品| 浮力影院亚洲国产第一页| 本道天堂成在人线av无码免费 | 激情97综合亚洲色婷婷五 | 亚洲国产情侣一区二区三区| 99re免费99re在线视频手机版| 日韩亚洲AV无码一区二区不卡| 99视频有精品视频免费观看| 亚洲色图在线观看| 最近免费中文在线视频| 亚洲乱码中文字幕小综合| 黄色片在线免费观看| 亚洲av日韩aⅴ无码色老头| 伊人久久亚洲综合影院| 国产精品免费久久久久电影网| 亚洲精品色午夜无码专区日韩| 久艹视频在线免费观看| 91午夜精品亚洲一区二区三区| 三年片在线观看免费大全 | 中文字幕成人免费高清在线| 亚洲V无码一区二区三区四区观看| 67194国产精品免费观看| 国产精品亚洲精品青青青| 毛片A级毛片免费播放| 亚洲无砖砖区免费| 99视频在线免费观看| vvvv99日韩精品亚洲| 丝袜足液精子免费视频| 亚洲成年人电影网站| 国产精品公开免费视频| 国产无遮挡裸体免费视频在线观看| 亚洲一级二级三级不卡| 日韩成人免费在线| 免费人成激情视频在线观看冫| 亚洲娇小性色xxxx| 亚洲自偷自偷在线制服| 一个人看的www在线观看免费 |