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

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

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

    iReport & JasperReport配置及用戶簡明手冊

    iReport & JasperReport配置及用戶簡明手冊- -

    ??????????????????????????????????????

    關于iReport和JasperReport的簡明手冊

    By Gem 伍子軒


    1安裝

    1.1 iReport的安裝

    iReport直接解壓后,將J2SDK\lib目錄下的tools.jar拷貝到iReport\lib目錄下,然后在iReport目錄下運行iReport.bat即可。
    需要注意的是tools.jar的版本必須要與本機安裝的jre一致,也就是說,如果系統安裝的是jre1.4.2就必須用jdk1.4.2tools.jar

    1.2 JapserReport開發(運行)環境的搭建

    JasperReport的開發環境必須要導入以下所有包:

    1.? JasperReport包,如jasperreports-0.6.1.jar

    2.? Aparche Common包,包括loggingdigesterbeanutilscollectionslogging-api

    3.? iText包,包括itext-1.1.jariTextAsian.jar(用于輸出中文字符到PDF文件)

    以上所有包(除了iTextAsian.jar)都已經包含在iReport\lib目錄下。

    2 開發流程

    iReport可視化編輯生成的文件是jrxml文檔,這是一種xml文件,記錄了一份report的詳細信息,我們可以直接用寫字板打開它編輯,iReport就是一個方便我們生成和編輯jrxml文件的工具,它也可以很方便地將jrxml文件編譯成jasper報表文件。

    jrxml文件通過Jasper編譯之后就變成了jasper文件,這份文件才是真正在程序中調用生成報表的report文件。

    但是有一點要注意的是,jasper的各個版本編譯出來的jasper文件并不兼容,就是說用0.6.1版編譯出來的文件用0.6.4版調用是會出錯的,而iReport自帶的Jasper版本是0.6.1,而jasper的最新版本是0.6.4。所以為了保持通用性,我建議只用iReport來開發編輯jrxml文件,而不編譯成jasper文件,在我們的打印報表程序中再即時編譯一次。雖然這樣效率可能會低了一點,但是保證了不同版本的兼容性。

    在我們的程序中,要調用Jasper的話,首先要得到一個數據庫的Connection,形如:Connection con = ...

    需要往JasperReport傳參數的話只需要新建一個Map,以參數名作為key,需要傳入的對象作為value,譬如:

    Map props = new HashMap();

    ????? props.put("name", new String("name"));

    需要多個參數只需分別putMap里去就可以了。

    JasperReport有如下幾個主要的Manager

    JasperCompileManager

    jrxml文件編譯成jasper文件或JasperReport對象

    JasperFillManager

    從數據源中獲取數據并填充jasper文件或JasperReport對象,產生JasperPrint對象

    JasperPrintManager

    JasperPrint對象直接輸出到打印機打印

    JasperExportManager

    JasperPrint對象導出成PDFHTML文件(或流)

    JasperRunManager

    運行一個jasper文件或JasperReport對象并輸出到PDFHtml文件(或流)中,我的理解是等于集成了JasperFillManagerJasperExportManager的功能

    對于上述對象的詳細說明請參閱JasperReport的文檔。

    例程:

    例程:

    public static void main(String[] args) {

    ??? try {

    ????? Class.forName("org.gjt.mm.mysql.Driver");

    ????? Connection con = DriverManager.getConnection(

    ????????? "jdbc:mysql://wes:3306/umpdb?useUnicode=true&characterEncoding=GBK", "root", "elite");

    ????? File f1 = new File("Account.jrxml");

    ????? File f2 = new File("Contact.jrxml");

    ????? JasperReport main = JasperCompileManager.compileReport(f1

    ????????? .getAbsolutePath());

    ????? JasperReport report = JasperCompileManager.compileReport(f2

    ????????? .getAbsolutePath());

    ????? Map props = new HashMap();

    ????? props.put("subreport", report);

    ????? JasperPrint print = JasperFillManager.fillReport(main, props,con);

    ????? //JasperPrintManager.printReport(print,true);

    ????? JasperExportManager.exportReportToPdfFile(print, "a.pdf");

    ????? //JasperRunManager.runReportToPdfFile("Account.jasper", "a.pdf", props, con);

    ??? } catch (ClassNotFoundException e) {

    ????? // TODO 自動生成 catch

    ????? e.printStackTrace();

    ??? } catch (SQLException e) {

    ????? // TODO 自動生成 catch

    ????? e.printStackTrace();

    ??? } catch (JRException e) {

    ????? // TODO 自動生成 catch

    ????? e.printStackTrace();

    ??? }

    ? }

    3 注意事項

    1iReport中新建中文報表的時候記得要輸入XML編碼GB2312

    2iReport中定義中文字體的時候,要選擇PDF Font NameSTSong-Light(宋體)、MHei-Medium(黑體)、MSung-Light,在PDF Encoding中選擇GB-UCS2-H(Chinese Simplified),否則輸出到PDF時會亂碼。

    3.用Report SQL查詢之后,可能會出現某些字段沒有自動建立Field,就需要在Field中手動定義了。

    posted on 2006-12-04 18:28 Tom 閱讀(1817) 評論(0)  編輯  收藏 所屬分類: 報表工具Appfuse

    <2006年12月>
    262728293012
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    導航

    統計

    常用鏈接

    留言簿(1)

    隨筆分類(42)

    隨筆檔案(43)

    文章分類

    相冊

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: A级毛片高清免费视频在线播放| 婷婷亚洲综合一区二区| 精品一区二区三区免费观看| 国产精品免费电影| 亚洲狠狠婷婷综合久久| 成年18网站免费视频网站| 亚洲一级毛片免观看| 亚洲人成在线免费观看| 亚洲美女自拍视频| 成年黄网站色大免费全看| 亚洲Av高清一区二区三区| 青苹果乐园免费高清在线| 一区二区亚洲精品精华液| 99久久这里只精品国产免费| 亚洲综合伊人制服丝袜美腿| 在线观看特色大片免费视频| 亚洲区日韩精品中文字幕| 国产不卡免费视频| 两个人看的www免费高清| 久久精品国产亚洲麻豆| 久久不见久久见免费视频7| 亚洲最大视频网站| 青草草在线视频永久免费| 在线精品自拍亚洲第一区| 亚洲精品蜜桃久久久久久| 亚欧人成精品免费观看| 亚洲Av无码一区二区二三区| 国产精品公开免费视频| 中国在线观看免费的www| 亚洲福利视频一区二区三区| 国内外成人免费视频| 精品国产免费一区二区三区| 亚洲精品免费视频| 好大好硬好爽免费视频| 精品人妻系列无码人妻免费视频| 亚洲AV无码成人精品区天堂| 一二三四在线观看免费高清中文在线观看| 国产午夜亚洲精品不卡| 亚洲色图在线播放| 国产猛烈高潮尖叫视频免费| 大地资源网高清在线观看免费|