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

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

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

    隨筆 - 6  文章 - 129  trackbacks - 0
    <2014年1月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    常用鏈接

    留言簿(14)

    隨筆檔案(6)

    文章分類(467)

    文章檔案(423)

    相冊

    收藏夾(18)

    JAVA

    搜索

    •  

    積分與排名

    • 積分 - 825479
    • 排名 - 49

    最新評論

    閱讀排行榜

    評論排行榜

    iReport 的使用入門
    文章來源:http://blog.chinahr.com/blog/vincent860214/post/99218
    Author: liuxiaohua mailto: vincent860214@126.com

    一、iReport 是什么

        iReport是一個能夠創建復雜報表的開源項目,并且它能調用JasperReports庫應用于任何一種java應用程序。本身是分布式的且由符合GNU通用公共許可的百分之百純java編寫。

    由于它豐富的圖形界面,你能夠很快的創建出任何一種你想要的報表。iReport能夠讓我們提高技術方面的信心,比如它能降低學習JasperReports的XML語法的難度,而且能夠為熟練的技術人員節省大量的時間并能開發出非常精細的報表。

     

    二、iReport 的下載與安裝

    JasperReport 的下載地址:http://jasperreports.sourceforge.net/index.html

    iReport的下載地址:http://sourceforge.net/projects/ireport

    可能有幾種不同的分類

    iReport-x.x.x.zip 這是官方的zip格式的二進制文件。

    iReport-x.x.x.tgz 這是官方的tar gz格式的二進制文件。

    iReport-x-x-x-src.zip 這是官方的包含源代碼的zip格式的二進制文件。

    x.x.x表明了iReport的版本號。每一種都包含必須使用的第三方的庫和程序及附加文件,例如模板和一些html格式的基礎教程。

     

    三、iReport 的配置

    iReport的初始化配置包括:設置所要查看運行后的文檔的格式;選擇語言;設置編譯后的文件目錄。我們要配置 iReport 必須運行剛剛安裝的 iReport。然后選擇菜單選項中工具選項(menu Options → Tools.)。

    首先出現如下圖的界面(圖1.1)。此選項卡是一些簡單常規的設置。

                                                                   1.1

    這個選項卡(1.2)是用來設置編譯后的文件存儲目錄,默認的目錄會在iReport的根目錄。一般情況下是要指定一個有效的目錄來保存編譯文件。這個目錄也可以是加載報表源時的目錄。筆者的文件存儲目錄是 D:"J2EE"iReport ,以后所有的報表文件都將被保存在這個目錄下。

                                                                   1.2

    這個選項卡(1.3)設置 iReport 編譯后用來預覽報表的外部程序。筆者這里只設定了 IE,其它沒有設定的編譯之后 iReport 會為你生成一個對應格式的文件保存在上面設置的默認目錄下,但不會打開。

                                                                   1.3

     

    四、創建 JDBC 連接

    任何一種動態報表都需要一個數據源,iReport 支持任何一款關系型數據庫作為數據源。

    首先我們來看一下怎么建立一個數據源的連接。點菜單(1.4),出現一個 Connections /Datasources 對話框。

             1.4

                       1.5

    筆者這里已經創建了兩個數據源。如果你是第一次使用 iReport 工具來作報表的話,那么你就要首先來創建數據源的連接。點擊New 新建一個數據源連接。將出現(1.6)一個 Connections properties 對話框。這里有很多種數據源類型,我們程序員常用的只有 Database JDBC connectionXML file data sourceJavaBeans set data sourceEJBQL connection 這幾種。其它的一般程序員很少用得到的。(呵呵…..這是筆者個人的看法)

                                                     1.6

    我們選擇 Database JDBC connection 后點擊 Next 出現一個數據源連接的配置屬性對話框(1.7)。以下是針對筆者的 Oracle 10 數據庫連接配置。

                                                     1.7

    配置好后我們需要測試一下是否連接成功。點擊 Test 進行測試如出現 Connectin test successful 則表示連接成功(1.8)

    注意:這里有一個 Save password 復選框,如果你選種了此復選框,則它會將密碼保存到一個 .txt 文件里面,如果你的密碼不想被暴露話的話,建議不要選此復選框。

                   1.8

    創建一個連接后此連接后,筆者的 iReport 就有三個數據源了(圖1.9)。

                                                            1.9

    注意:我們創建數據源連接時一定要有數據庫連接驅動的支持。iReport 只為我們符帶了一個 MySQL 的驅動包,并且不定符合你的 MySQL 數據庫的版本。所以我們連接任何一種關系型數據庫時都要將驅動拷貝到 iReport 的安裝根目錄下的 lib 目錄里。

     

     

    五、第一個簡單的報表

    第一個報表我們就采用 iReport 本身的報表精靈向導來創建一個簡單的。iReport Wizard 是一個用來一步步創建報表的工具。點擊(2.0)菜單檔案à報表清靈,將出現一個 iReport Wizard 對話框(2.1)

               2.0

    iReport Wizard 工具可以根據你以往的模版進行報表的創建。也可選擇你已經配置好的數據庫連接作為此報表的數據源,然后編寫SQL語句或導入已有的SQL文件。即使你不會寫SQL語句也可以做出一個漂亮的報表出來,因為它有一個 Design… 按鈕(圖2.2),專門為一些不會寫SQL語句的人所設計的。

                                                                   2.1

    在此視圖中你可以選擇你要使用的表和表字段,并且它幫我們把表的關系給體現出來了。

                                                                   2.2

    下一步需要選擇我們要在報表中顯示的字段(2.3)

                                                                   2.3

    根據此向導我們可以創建四個組(事實它可以設置很多的組)

                                                                   2.4

    向導為我們提供幾套顯示模版供我們選擇(2.5)

                                                                   2.5

    最終它根據我們的設定生成了一份報表(圖2.6)。

                                                                   2.6

    所有的工作已經全部完成,只需要執行報表就可以了。點擊后面這個執行動態報表將出來下圖(2.7)的報表結果。

                                                                   2.7

     

    如何支持中文。

    這個報表的所有數據都是英文的,如果您的數據有中文的話,那么您還需要進行一步設定(2.8),要修改的地方有三個,1.Font Name 改成中國的字體。2.PDF Font Name 改成 STSong-Light3.PDF Encoding 改成 UniGB-UCS2-H (Chinese Simplified)。就OK啦。

                                       2.8

     

    上面我只做了一個簡單的報表,其實 iReport+JasperReport 最大的靚點就是設計可視化的圖表報表,下面是筆者做的一個簡單的圖形報表(圖2.9)。

                                                            2.9

     

    六、圖形報表(餅圖)

    新建一個chatReport 報表

    編寫SQL語句(圖3.0)。查詢每個部門有多少個職員。

                                                            3.0

    選擇工具欄中插入餅圖的快捷鍵(圖3.1

                                                            3.1

    出現一個圖形報表選擇向導。我們選擇第二個三維餅圖(3.2)

                                       3.2

     

    點擊OK之后,在報表的設計器中出現一個三維餅圖(圖3.3)。我們需要設置餅圖的一些屬性,通過右鍵 Chart Properties 來完成屬性的設定。

                                                            3.3

    出現了 Chart Properties 對話框后,選擇 Chart Data 選項卡圖形報表的數據,設置其數據來源。

    對應部門的職員的個數

    部門名稱

                                                         3.4

    關閉設計視圖。然后選擇我們要預覽的格式(3.5)

                                              3.5

    注意:在生成PDF預覽時,需要向 iReprot lib 目錄下加入一個 iTextAsian.jar 的亞州語言包,用于處理亞州語言的亂碼的問題。iTextAsian.jar 現在很難下載得到了,如果你需要的話給我一個郵件,講明你所要的東西。

    點擊工具欄的編譯運行,最終執行報表的效果(3.6)

                                                            3.6

          

    七、一勞永益的解決中文的問題

    前面提到過報表中的中文問題,上面給出的解決方案比較麻煩需要對每個字段進行設定,下面給出一個通用的設定,可以應用到所有的字段,這樣我們只須做一次設定永久使用。

    第一步:添加一個自定義的字體(3.7)

                                3.7

    彈出一個添加自定義字體的對話框(圖3.8)。

                                                     3.8

    點擊添加一個新的字體。要想中文不出現亂碼,則要跟我的配置一樣(圖3.9)。

                                              3.9

    配置已完生,以后在使用的時候只要選中字段然后右鍵屬性,在Font 選項卡中 Report Font 中選擇我的字體就OK了(圖4.0),不用像上面那樣子每次都要同時修改三個地方了。

                                       4.0

     

    八、應用程序調用JasperReport 報表

    應用程序包結構(4.1)

                  4.1

    Servlet 代碼:

    iReport 工具的lib目錄下的.jar 全部拷貝到工程下面。

           public void service(HttpServletRequest request, HttpServletResponse response)

                         
    throws ServletException, IOException {

     

                  
    try {

                         
    // 報表編譯之后生成的.jasper 文件的存放位置

                         File reportFile 
    = new File(

                                       request.getRealPath(
    "jasperreport/employee.jasper"));

                         
    // 傳遞報表中用到的參數值

                         Map
    <String, String> parameters = new HashMap<String, String>();

                

                
    // "name"是報表中定義過的一個參數名稱,其類型為String 型

    //                   parameters.put("name", value);

                

                
    byte[] bytes = JasperRunManager.runReportToPdf(

                                       reportFile.getPath(), 
    null, DBConnection.getConnection());

                
    //生成PDF文件

                response.setContentType(
    "application/pdf");

                         ServletOutputStream ouputStream 
    = response.getOutputStream();

                         ouputStream.write(bytes, 
    0, bytes.length);

                         ouputStream.flush();

                         ouputStream.close();

            } 
    catch (Exception e) {

                         System.out.println(
    "出錯");

                         e.printStackTrace();

                  }

           }

    記住此應用程序需要添加一些庫支持。最簡單的辦法就是把

    運行程序,打開瀏覽器。

    http://localhost:8080/reportdemo/index.jsp出現此頁面(4.2)

                   4.2

    點擊生成報表。出現我們想要的報表(4.3)

                                                                   4.3

          

        大功告成。。



    posted on 2008-11-09 09:47 Ke 閱讀(12437) 評論(1)  編輯  收藏 所屬分類: iReport

    FeedBack:
    # re: iReport 的使用入門[未登錄] 2014-01-21 17:31 123
    ireport交流QQ群 145521545  回復  更多評論
      
    主站蜘蛛池模板: 亚洲av无码无在线观看红杏| 久久精品国产亚洲网站| 亚洲小说区图片区| **aaaaa毛片免费| 亚洲成aⅴ人片在线观| 手机看黄av免费网址| tom影院亚洲国产一区二区| 成年女人午夜毛片免费看| 亚洲人成人伊人成综合网无码| 午夜免费不卡毛片完整版| 337P日本欧洲亚洲大胆精品| 亚洲欧洲自拍拍偷精品 美利坚| 成年免费a级毛片| 亚洲av无码一区二区三区不卡| 日日麻批免费40分钟无码| 亚洲熟妇无码久久精品| 成年在线网站免费观看无广告| 日日摸日日碰夜夜爽亚洲| 国产亚洲精品国看不卡| 麻豆成人久久精品二区三区免费| 亚洲国产精品免费在线观看| 好大好深好猛好爽视频免费| 特级毛片免费观看视频| 亚洲成AV人在线播放无码| 免费观看激色视频网站bd| 久久无码av亚洲精品色午夜| 国产乱辈通伦影片在线播放亚洲| 久久精品免费观看| 亚洲成a人片在线看| 亚洲精品乱码久久久久久不卡| 久久国产精品免费网站| 亚洲熟妇无码AV| 亚洲乱亚洲乱妇无码麻豆| 国产精品永久免费10000| 在线观看亚洲网站| 亚洲国产一区国产亚洲| 日本xxwwxxww在线视频免费| 国产真人无码作爱视频免费| 亚洲欧美aⅴ在线资源| 亚洲国产第一站精品蜜芽| 在线视频免费观看www动漫|