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

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

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

    JAVA涂鴉
    關于JAVA的點點滴滴
    posts - 50,  comments - 689,  trackbacks - 0

    最近工作中用到報表,而我在學習JasperReport的過程中遇到了很多問題(主要是國內的資料太少了),網上很少找得到,在此我就把我找到的一些資料和大家共享,希望能對大家有所幫助。
    1、JasperReport和iReport的資源,最新版本可以到下面官方網站得到

    iReport官方網站:
    http://ireport.sourceforge.net
    JasperReport官方網站:
    http://jasperreports.sourceforge.net

    2、安裝
    1)、JDK的安裝,并配置JAVA_HOME
    比如我的JAVA_HOME路徑如下:
    JAVA_HOME  D:\Program Files\j2sdk1.4.2_03

    2)、由于中文的問題,所以還需要下載:itext-1.02b.jar和iTextAsian.jar包
    下載地址:http://itext.sourceforge.net/downloads/iTextAsian.jar
    并在CLASSPATH中設置
    例如我的CLASSPATH如下:
    CLASSPATH
    E:\Program Files\Apache GroupTomcat4.1\webapps \estreport\WEB-INF\lib\itext-1.02b.jar;E:\Program

    Files\Apache GroupTomcat 4.1\webapps\ estreport\WEB-INF\lib\iTextAsian.jar;E:\Program Files\Apache

    GroupTomcat 4.1\webapps \estreport\WEB-INF\lib;D: \ools\iReport0.2.3\lib

    3)、iReport的安裝iReport只要解壓就OK,如果沒有安裝Ant,可以直接在iReport下的noAnt目錄下,
    運行startup.bat就可以了,這樣iReport就可以啟動了

    4)、JasperReport
    Jasperreport不需要任何配置,你只需將下載以后的jar包放到classpath下即可
    5)、數據庫的JDBC驅動包
    加入到CLASSPATH中

    3、詳細資源
    iReport官方提供了一些關于iReport視頻,對于初學者很有幫助:
    地址:http://ireport.sourceforge.net/docs.html

    JasperReport官方提供的使用指南
    地址:http://jasperreports.sourceforge.net/tutorial/index.html

    JasperReport提供的一些例子:
    地址:http://jasperreports.sourceforge.net/samples/index.html

    4、常見問題
    1)、iReport中提示框輸入中文是不能正常顯示,請將iReport下lib中的這個包刪除tinylaf.jar
    2)、在iReport中運行報表時如果出現亂碼問題,請檢查itext-1.02b.jar和iTextAsian.jar這兩個包是否加到CLASSPATH
    3)、在jsp或servlet高度報表時出現亂碼或不顯示,請檢查你在報表設計過程中所設置的字體及其編碼
    比如:pdfname、pdfencoding
    5、下面是兩個調試例子
    Servlet:
    import javax.servlet.*;
    import javax.servlet.http.*;
    import dori.jasper.engine.*;
    import java.io.*;
    import java.util.*;
    import java.sql.*;

    /**
    * @author Administrator
    *
    * To change the template for this generated type comment go to
    * Window>Preferences>Java>Code Generation>Code and Comments
    */
    public class TestReport extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    Connection conn = null;

    try {

    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    conn =
    DriverManager.getConnection(


    "jdbc:microsoft:sqlserver://192.168.0.10:1433;DatabaseName=am;user=sa;password=sa");

    ServletContext servletContext =this.getServletContext();
    File reportFile = new File(servletContext.getRealPath("test/iteminfo.jasper"));
    Map parameters = new HashMap();
    Integer i=new Integer(8);
    parameters.put("pjId", i);
    byte[] bytes =
    JasperRunManager.runReportToPdf(
    reportFile.getPath(),
    parameters,
    conn);
    response.setContentType("application/pdf");
    response.setContentLength(bytes.length);
    ServletOutputStream ouputStream = response.getOutputStream();
    ouputStream.write(bytes, 0, bytes.length);
    ouputStream.flush();
    ouputStream.close();
    } catch (JRException jre) {
    System.out.println("JRException:" + jre.getMessage());
    } catch (Exception e) {
    System.out.println("Exception:" + e.getMessage());
    }

    }

    public void doPost(
    HttpServletRequest request,
    HttpServletResponse response)
    throws ServletException, IOException {

    doGet(request, response);

    }

    }


    ?
    1 首先看看

    http://plateau.sicool.com/main.html
    上的三篇ireport和Jasperreport整合開發報表向導(一)(二)(三)
    看完理解并自己運行一下,OK,你入門了


    2 去找一份TheJasperReportsUltimateGuide.1.0.pdf

    看完之后你就能了解JasperReport生成的基本過程及原理,里面也回答了很多
    剛接觸這個報表工具會產生的疑問

    3 論壇上的經驗

    Java研究的論壇上有很多關于JasperReport及iReport的經驗及問題解答,所以
    大家在提問的時候不妨多翻翻論壇上的帖子,很多你要問的問題都能找到答案,
    還有很多寶貴的經驗
    當然說起論壇最正宗還是
    https://sourceforge.net/projects/ireport/
    https://sourceforge.net/projects/jasperreports/
    大家可以到sourceforge.net去看看,論壇上提供搜索,也能翻到很多東西,順便
    練練你的英語

    4 學習JasperReport的Samples

    解壓jasperreports-0.5.0-project.zip 后目錄jasperreportsdemosamples
    下的例子,看看這些例子是你關于這個報表工具提升能力的最好最快的方式,
    我會在下面貼上各個例子的簡要說明。
    要運行sample下的例子,首先你要安裝ant,并設置好環境變量
    如ANT_HOME??? 值為?? D:Installant161
    然后到dos方式下,到某一個sample的目錄,比如到
    jasperreportsdemosamplesalterdesign目錄下
    運行 ant 則會編譯報表文件
    運行 ant view 則會展現報表

    5 比上面更好的資料是什么?

    就是JasperReport的源代碼,看懂源代碼,JasperReport
    就是在你腦子里的了,你想干什么都行了,優化代碼,覆寫,繼承他的類,實現個性
    化的功能,甚至你可以參考他的思想,升華一下,做一個你自己的報表
    ?
    1. alterdesign

    該例子演示了報表編譯后,在報表展現的時候如何動態的控制其中的元素
    比如讓某一個矩形變色或其他

    2. antcompile
    ?
    演示如何讓 ant 來編譯

    3. chart
    ?
    演示了如何在報表中添加圖像,JasperReport是用Scriptlet的方式
    往報表中添加圖像,而Scriptlet是調用也是開源的jfreechart的Api來
    生成圖形,去jfreechart看一下,該工具能的圖形生成能力也很強

    4. datasource
    ?
    演示了如何在報表中使用各種數據源,能夠使用beanarray
    beancollection,也可以用自定義的數據源,只要繼承了JRDataSource的
    兩個接口,這個能給用戶提供非常大的靈活性,報表的數據不用局限于一
    條Sql語句,也可以使用存儲過程,對生成報表中的數據也可以排序,二
    次檢索,等等

    5. fonts
    ?
    各種字體的演示

    6. horizontal
    ?
    演示了水平分欄的報表,演示報表中分了三欄,其中還用到了
    textFieldExpression,就像if語句的效果來選擇輸出的內容

    7. hyperlink
    ?
    演示了各種樣式的鏈接

    8. images

    演示了如何在報表中加入圖像以及圖像的顯示方式

    9. jasper
    ?
    演示了分組分欄的報表,演示中用了2次group

    10. jcharts

    演示了調用另一個開源的API jcharts來往報表中加入分析圖形,原理同
    上chart,如果jfreechart都還不能滿足你分析圖形的要求,那到jcharts
    里找找看吧,說不定有

    11. landscape
    ?
    演示橫向的報表

    12. nopagebreak
    ?
    演示比如在IE中不分頁的方式打印出報表的內容,通過這個演示也可以
    了解報表輸出如何配置參數

    13. noreport

    演示了如何直接通過java程序生成JasperPrint對象來輸出

    14. noxmldesign

    演示了如何直接通過java程序生成JasperDesign對象來動態的生成報
    表,根據這個例子,用戶可以作出自定義選列的報表,當然比較麻煩,
    而且肯定自己要補充他的API庫
    (JasperReport真是強大啊,呵呵)

    15. pdfencrypt
    ?
    演示了pdf的輸出方式,可以給pdf文件加密碼,其實就是pdf輸出方式的
    參數配置,具體有那些參數可配置,去看看API吧

    16. printservice

    演示了如何直接打印報表

    17. query

    演示了如何讓查詢的sql動態起來,比如你可以通過一個Jsp頁面傳
    報表的sql的where條件,order條件,甚至整個sql語句

    18. rotation

    演示了文字縱向顯示的報表

    19. scriptlet
    ?
    演示了如何繼承JRDefaultScriptlet,并加入自己的處理語句,這個功能
    可是很強大的哦,看看這些接口
    beforeReportInit() afterReportInit() beforePageInit()
    afterPageInit() beforeColumnInit() afterColumnInit()
    beforeGroupInit(String groupName)
    afterGroupInit(String groupName)
    看看這些名字就知道你能完成那些功能,比如顯示一列數據后,馬上跟
    上該列數據的分析圖形,當然你也可以加上自己的方法并在報表中調用

    20. shapes

    演示了JasperReport中自帶的圖形,及能配置的參數
    當然你也能繼承或者覆寫JasperReport中的Api生成你要的圖形,

    21. stretch

    演示了如何處理報表中數據拉伸以及帶來周圍的線及框的拉伸,
    你能了解到雖然黑框式表格不是JasperReport中缺省的展現方式,
    但在JasperReport中不難實現

    22. subreport

    演示了子報表,還告訴你一個報表中可以有n個子報表,子報表中還可以
    嵌套子報表

    23. tableofcontents

    演示了如何生成一個有目錄的,復雜的報表

    24. unicode

    演示了各種 字符編碼

    25. webapp

    演示了如何把報表放到一個JavaWeb項目中,可以用Jsp Servlet
    applet,筆者做了一個有參數頁面,可以選擇html pdf applet
    輸出方式的報表,有興趣的 我可以在后面放上代碼

    posted on 2006-01-21 11:22 千山鳥飛絕 閱讀(4740) 評論(0)  編輯  收藏 所屬分類: Jasperreport

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    正在閱讀:



    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(35)

    隨筆檔案

    文章分類

    文章檔案

    好友的blog

    我的其他blog

    老婆的Blog

    搜索

    •  

    積分與排名

    • 積分 - 775144
    • 排名 - 56

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲成AV人片一区二区密柚| 亚洲国产成人精品久久久国产成人一区二区三区综 | 亚洲一本一道一区二区三区| 久久精品国产免费一区| 亚洲伊人久久综合影院| 一级毛片一级毛片免费毛片| 亚洲性在线看高清h片| 精品国产免费人成网站| 久久久久亚洲精品中文字幕| 久久久久久毛片免费看| 亚洲人成精品久久久久| 美女在线视频观看影院免费天天看| 国产亚洲综合色就色| 三级网站在线免费观看| 亚洲av成人无码久久精品| 日韩在线不卡免费视频一区| 337p日本欧洲亚洲大胆色噜噜| 免费观看无遮挡www的视频 | 亚洲精品无码专区在线| 国产精品无码素人福利免费 | 免费A级毛片无码A∨| 亚洲欧洲精品视频在线观看| 免费国产作爱视频网站| 亚洲人成人网站18禁| 亚洲精品无码日韩国产不卡?V | 一出一进一爽一粗一大视频免费的| 国产亚洲精品激情都市| 久久大香香蕉国产免费网站 | 亚洲国产精品久久丫| 免费观看男人免费桶女人视频| 特级毛片全部免费播放a一级| 亚洲精品国产精品乱码不卡√| **实干一级毛片aa免费| 亚洲人AV在线无码影院观看| jlzzjlzz亚洲乱熟在线播放| 久久久久国产精品免费网站| 在线观看日本亚洲一区| 在线观看亚洲成人| 国产精品成人观看视频免费| 精品一区二区三区无码免费直播 | 毛片网站免费在线观看|