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

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

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

    posts - 37, comments - 8, trackbacks - 0, articles - 0
    1、JavaReport輸出一維數據展現:
    <%@ page contentType="text/html; charset=GBK" %>
    <%@ page import="com.javareport.beans.*"%>
    <%@ page extends="com.javareport.http.WebReportEngine"%>
    <%!
    public Report createReport(HttpServletRequest request) throws Exception{
        
    //圖片類型數組
        
    int[] chartType = new int[]{
        Chart.CHART_PIE3D,Chart.CHART_STACKBAR3D,
        Chart.CHART_CURVE,Chart.CHART_LINE,
        Chart.CHART_POINT,Chart.CHART_INVERTED_CURVE,
        Chart.CHART_INVERTED_LINE,Chart.CHART_INVERTED_STACKBAR};
            
    //單元數據的顯示標簽字符串數組
        
    String[] labels = new String[] {"太陽","星星","月亮","她的眼睛"};
            
    //實例化報表對象
        Report report 
    = new Report();
        
    //在頁眉中添加文本信息內容
        report.addHeaderText(
    "各種光源在我心中的位置統計");
        
    //在報表的頁眉添加一條橫直線
        report.addHeaderSeparator(
    1);
        
    //在頁尾添加一條橫直線
        report.addFooterSeparator(
    1);
        
    //在頁尾添加文本信息內容
        report.addFooterText(
    "第{P}頁, 共{N}頁");
        
    //循環輸出各種類型的圖片
        
    for (int i = 0; i < chartType.length; i++) {
            try {
                
    //實例化一個圖表對象
                Chart chart 
    = new Chart((Number[][])getData(request));
                
    //設置圖表中的單元數據的顯示的標簽
                chart.setLabels(labels);
                
    //設置統計圖的類型
                chart.setStyle(chartType[i]);
                
    //設置統計圖中顯示的時候把具體的數值也顯示出來
                chart.setShowValue(
    true);
                
    //在報表中添加文本信息內容
                report.addText(
    "報表中常見的報表統計圖表("+i+"): ");
                
    //在報表中添加圖表信息內容
                report.addChart(chart);
                
    //在報表中添加換行符號
                report.addBreak();
                report.addBreak();
                report.addBreak();
            }
            catch (Exception ex) {
                ex.printStackTrace();
            }
        }
        return report;
    }

    //讀者可根據需要設置數組的值,或從數據庫中取出值放入數組中以動態顯示數據
    public Double[][] getData(HttpServletRequest request){
        
    Double[][] data = new Double[1][4];
        data[
    0][0= new Double(67);
        data[
    0][1= new Double(82);
        data[
    0][2= new Double(74);
        data[
    0][3= new Double(100);
        return data;
    }
        
    //定制Web報表在頁面首部顯示的工具欄為標準的樣式,增加一個"返回"按鈕,返回到首頁
    public String getToolbarScript(HttpServletRequest request){
        return 
    "<a href=\"../index.htm\"><img src=\""+request.getRequestURI()+
        "?op=Resource&name=/resource/back.gif\" border=\"0\" alt=\"返回\"></a>";
    }
    %>    
    附:二維數據圖形與一維數據圖形的區別是在數據展現上加大了數據的展現量,在同一個單元數據標簽處可顯示屬于同一個單元的多個數據。修改改getData()方法的內容如下:
    public Double[][] getData(HttpServletRequest request){
        Double[][] data 
    = new Double[4][4];
        data[
    0][0= new Double(67);data[0][1= new Double(82);
        data[
    0][2= new Double(74);data[0][3= new Double(100);
        data[
    1][0= new Double(67);data[1][1= new Double(82);
        data[
    1][2= new Double(74);data[1][3= new Double(100);
        data[
    2][0= new Double(67);data[2][1= new Double(82);
        data[
    2][2= new Double(74);data[2][3= new Double(100);
        data[
    3][0= new Double(67);data[3][1= new Double(82);
        data[
    3][2= new Double(74);data[3][3= new Double(100);
        
    return data;
    }
    2、JavaReport輸出報表:
    <%@ page contentType="text/html; charset=GBK" %>
    <%@ page import="java.awt.*"%>
    <%@ page import="com.javareport.beans.*"%>
    <%@ page extends="com.javareport.http.WebReportEngine"%>
    <%!
    public Report createReport(HttpServletRequest request) throws Exception{
        
    //實例化報表對象
        Report report 
    = new Report();
        
    //在頁眉中添加文本信息內容
        report.addHeaderText(
    "報表輸出示例");
        
    //在報表的頁眉添加一條橫直線
        report.addHeaderSeparator(
    1);
        
    //在頁尾添加一條橫直線
        report.addFooterSeparator(
    1);
        
    //在頁尾添加文本信息內容
        report.addFooterText(
    "第{P}頁, 共{N}頁");
        
        
    //在報表中添加文本信息內容
        report.addText(
    "銷售情況一覽表(合并表格):");
        
    //在報表中添加換行符號
        report.addBreak();
        
    //在報表中添加表格
        report.addTable(getTable());
        
    //在報表中添加換行符號
        report.addBreak();    

        return report;
    }
    //------得到銷售情況一覽表(合并表格)對象------
    public Table getTable(){
        
    String[][] data = getTotalData();
        Table table 
    = new Table(data);
        table.setAlignment(Table.H_CENTER 
    + Table.V_CENTER);
        table.setColAutoSize(
    true);
        table.setRowBackground(
    0,Color.LIGHT_GRAY);
        table.setRowBackground(
    1,Color.LIGHT_GRAY);
        table.setColBackground(
    0,Color.LIGHT_GRAY);
        table.setRowBackground(
    7,new Color(255,255,128));
        table.setHeaderRowCount(
    2);
        table.setHeaderColCount(
    1);
        table.setRowBorder(table.LINE_THIN);
        table.setColBorder(table.LINE_THIN);
        table.setCellSpan(
    0,0,new Dimension(1,2));
        table.setCellSpan(
    0,1,new Dimension(2,1));
        table.setCellSpan(
    0,3,new Dimension(2,1));
        table.setCellSpan(
    0,3,new Dimension(2,1));
        return table;
    }

    //生成銷售情況數據,實際工程中一般從數據庫中獲取
    public String[][] getData(){
        
    String[][] data = new String[6][4];
        data[
    0][0= "區域"; data[0][1= "第一季度"; data[0][2= "第二季度"; data[0][3= "第三季度";
        data[
    1][0= "華南地區"; data[1][1= "¥2,000,000";
         data[
    1][2= "¥2,500,000"; data[1][3= "¥2,200,000";
        data[
    2][0= "華東地區"; data[2][1= "¥6,000,000";
        data[
    2][2= "¥4,500,000"; data[2][3= "¥4,800,000";
        data[
    3][0= "華中地區"; data[3][1= "¥500,000";
        data[
    3][2= "¥400,000"; data[3][3= "¥700,000";
        data[
    4][0= "華北地區"; data[4][1= "¥3,000,000";
        data[
    4][2= "¥3,200,000"; data[4][3= "¥2,500,000";
        data[
    5][0= "東北地區"; data[5][1= "¥4,000,000";
         data[
    5][2= "¥5,000,000"; data[5][3= "¥4,400,000";
        return data;
    }
    //得到銷售匯總統計數據,實際工程中一般從數據庫中獲取
    public String[][] getTotalData(){
        
    String[][] data = new String[8][5];
        data[
    0][0= "區域"; data[0][1= "上半年"; data[0][3= "下半年";
        data[
    1][1= "第一季度"; data[1][2= "第二季度"; data[1][3= "第三季度";data[1][4= "第四季度";
        data[
    2][0= "華南地區"; data[2][1= "¥2,000,000"; data[2][2= "¥2,500,000";
         data[
    2][3= "¥2,200,000";data[2][4= "¥0";
        data[
    3][0= "華東地區"; data[3][1= "¥6,000,000"; data[3][2= "¥4,500,000";
         data[
    3][3= "¥4,800,000";data[3][4= "¥0";
        data[
    4][0= "華中地區"; data[4][1= "¥500,000"; data[4][2= "¥400,000";
        data[
    4][3= "¥700,000";data[4][4= "¥0";
        data[
    5][0= "華北地區"; data[5][1= "¥3,000,000"; data[5][2= "¥3,200,000";
        data[
    5][3= "¥2,500,000";data[5][4= "¥0";
        data[
    6][0= "東北地區"; data[6][1= "¥4,000,000"; data[6][2= "¥5,000,000";
         data[
    6][3= "¥4,400,000";data[6][4= "¥0";
        data[
    7][0= "總計"; data[7][1= "¥15,500,000"; data[7][2= "¥15,600,000";
        data[
    7][3= "¥14,600,000";data[7][4= "¥0";
        return data;
    }
    //定制Web報表在頁面首部顯示的工具欄為標準的樣式,增加一個"返回"按鈕,返回到首頁
    public String getToolbarScript(HttpServletRequest request){
        return 
    "<a href=\"../index.htm\"><img src=\""+request.getRequestURI()+
        "?op=Resource&name=/resource/back.gif\" border=\"0\" alt=\"返回\"></a>";
    }
    %>
    注:實際工程中,報表的數據往往來自于數據庫,需要在getTotalData()方法中編寫代碼從數據庫中得到統計數據,統計方法可以是使用特定的SQL語句或取出數據后在Java語句中統計。輸出報表還有一種更直接的方法,就是用SQL語句查詢出數據庫中的數據后,得到一個ResultSet對象,如rs,再用如語句:RsTable rsTable=new RsTable(rs),重載如下方法:public RsTable getTable(HttpServletRequest request)throws Exception將返回值為rsTable,即可將數據庫查詢的結果作二維表格中的數據直接輸出,不必再轉換成二維數組中的再數據再輸出到報表。
    主站蜘蛛池模板: 成年性羞羞视频免费观看无限| 亚洲精品视频免费| 男男gvh肉在线观看免费| a级亚洲片精品久久久久久久| 98精品全国免费观看视频| 国内精品久久久久影院亚洲| 亚洲?V无码成人精品区日韩 | 岛国精品一区免费视频在线观看 | 免费无码又爽又刺激网站直播 | 亚洲成a人片在线观看天堂无码| 亚洲精品岛国片在线观看| 99久久久国产精品免费牛牛 | 在线观看国产区亚洲一区成人| 久久久久久一品道精品免费看| 亚洲国产日韩a在线播放| 亚洲国产精品无码久久SM| 卡1卡2卡3卡4卡5免费视频 | 亚洲精品一级无码中文字幕| 18级成人毛片免费观看| 一区免费在线观看| 亚洲永久在线观看| 亚洲精品亚洲人成在线观看| 日韩精品免费电影| 永久看日本大片免费35分钟| 久久不见久久见免费影院www日本| 2019亚洲午夜无码天堂| 亚洲AV无码精品色午夜果冻不卡 | 亚洲男人的天堂久久精品| 亚洲日韩中文无码久久| 免费看香港一级毛片| 99re在线精品视频免费| 一区二区三区免费电影| 亚洲一区二区三区丝袜| 亚洲视频在线观看不卡| 中文字幕精品亚洲无线码一区| 美女被免费视频网站a国产| 亚洲精品视频免费在线观看| 国产一级a毛一级a看免费人娇| 国产成人不卡亚洲精品91| 亚洲精品456人成在线| 亚洲欧洲校园自拍都市|