<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)

    文章分類

    相冊

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 日韩精品免费在线视频| 亚洲AV无码专区亚洲AV桃| 99在线免费观看| 亚洲熟女一区二区三区| 最新亚洲成av人免费看| 亚洲国产精品国自产拍AV| 免费福利在线视频| 亚洲福利电影在线观看| 97在线观看永久免费视频| 亚洲综合精品成人| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 亚洲国产成人精品女人久久久 | 亚洲乱码中文字幕久久孕妇黑人| a国产成人免费视频| 亚洲精品视频免费看| 成人免费福利电影| 美女啪啪网站又黄又免费| 国产亚洲av片在线观看16女人| 鲁大师在线影院免费观看| 精品亚洲AV无码一区二区三区| 在线看片无码永久免费aⅴ| 成人a毛片免费视频观看| 久久亚洲精品无码| 我想看一级毛片免费的| 一级做a爰性色毛片免费| 亚洲精品熟女国产| 国产精品免费小视频| 在线看片免费人成视频播| 亚洲伊人久久大香线蕉结合| 亚洲男人av香蕉爽爽爽爽| 无码A级毛片免费视频内谢| 亚洲人成人网站18禁| 亚洲精品无码午夜福利中文字幕 | 国产视频精品免费| 免费av片在线观看网站| 亚洲国产成人精品无码区二本| 国产亚洲综合网曝门系列| 毛片免费观看的视频在线| a在线视频免费观看| 亚洲国产成人久久精品软件| 亚洲国产一区国产亚洲|