zoukankan      html  css  js  c++  java
  • java三步 在线生成图形报表-maven-jfreechat

    本篇博客採用  jfreechat 直接生成图形报表。 

    首先maven项目须要引入包。

    <dependency>

        	<groupId>org.jfree</groupId>
        	<artifactId>jfreechart</artifactId>
        	<version>1.0.19</version>
        </dependency>

    然后在web.xml配置:

     
      <servlet> 
          <servlet-name>displayChart</servlet-name> 
          <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class> 
      </servlet> 
      <servlet-mapping> 
          <servlet-name>displayChart</servlet-name> 
          <url-pattern>/displayChart</url-pattern> 
      </servlet-mapping>

    最后新建一个jsp文件;

    <%@page import="java.util.Set"%>
    <%@page import="java.awt.Font"%>
    <%@page import="org.jfree.chart.StandardChartTheme"%>
    <%@page import="java.awt.Color"%>
    <%@page import="org.jfree.chart.servlet.ServletUtilities"%>
    <%@page import="java.text.SimpleDateFormat"%>
    <%@page import="org.jfree.chart.axis.DateAxis"%>
    <%@page import="org.jfree.chart.ChartFactory"%>
    <%@page import="org.jfree.chart.JFreeChart"%>
    <%@page import="org.jfree.data.time.Month"%>
    <%@page import="org.jfree.data.time.TimeSeriesCollection"%>
    <%@page import="org.jfree.data.time.TimeSeries"%>
    <%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <html>
    <body>
    <%
    
    TimeSeries series2010 = new TimeSeries("2010年度" );
    TimeSeries series2011 = new TimeSeries("2011年度" );
    TimeSeriesCollection dataset = new TimeSeriesCollection();
    series2010.add(new Month(1, 2011), 36);
    series2010.add(new Month(2, 2011), 84);
    series2010.add(new Month(3, 2011), 202);
    series2010.add(new Month(4, 2011), 183);
    series2010.add(new Month(5, 2011), 172);
    series2010.add(new Month(6, 2011), 107);
    series2010.add(new Month(7, 2011), 200);
    series2010.add(new Month(8, 2011), 87);
    series2010.add(new Month(9, 2011), 250);
    series2010.add(new Month(10, 2011), 152);
    series2010.add(new Month(11, 2011), 235);
    series2010.add(new Month(12, 2011), 266);
    series2011.add(new Month(1, 2011), 156);
    series2011.add(new Month(2, 2011), 216);
    series2011.add(new Month(3, 2011), 118);
    series2011.add(new Month(4, 2011), 250);
    series2011.add(new Month(5, 2011), 257);
    series2011.add(new Month(6, 2011), 253);
    series2011.add(new Month(7, 2011), 355);
    series2011.add(new Month(8, 2011), 300);
    series2011.add(new Month(9, 2011), 103);
    series2011.add(new Month(10, 2011), 250);
    series2011.add(new Month(11, 2011), 348);
    series2011.add(new Month(12, 2011), 325);
    dataset.addSeries(series2010);
    dataset.addSeries(series2011);
    StandardChartTheme standardChartTheme=new StandardChartTheme("CN");  
    //设置标题字体  
    standardChartTheme.setExtraLargeFont(new Font("隶书",Font.BOLD,20));  
    //设置图例的字体  
    standardChartTheme.setRegularFont(new Font("宋书",Font.PLAIN,15));  
    //设置轴向的字体  
    standardChartTheme.setLargeFont(new Font("宋书",Font.PLAIN,15));  
    ChartFactory.setChartTheme(standardChartTheme) ; 
    JFreeChart chart = ChartFactory.createTimeSeriesChart("A产品销售量", "", "", dataset, true, true, false);
    DateAxis dateaxis = (DateAxis)chart.getXYPlot().getDomainAxis();
    dateaxis.setDateFormatOverride(new SimpleDateFormat("MM月")); 
    chart.setBackgroundPaint(Color.WHITE);
    String fileName = ServletUtilities.saveChartAsPNG(chart, 500, 300, null, session );
    %>
    <img alt="" src="displayChart?filename=<%=fileName%>">
    </body>
    </html>
    

    生成的图片:



    博客地址:http://blog.csdn.net/hfmbook

  • 相关阅读:
    mybatis
    Hello mybatis
    linux各种终端类型的区别和概念
    页面对象的定位
    laravel 操作 redis
    Python应用与实践
    Mysql与Oracle区别
    PHP 中 call_user_func 函数 和 call_user_func_array 函数的区别
    php依赖注入
    Linux/Unix 怎样找出并删除某一时间点的文件
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7107062.html
Copyright © 2011-2022 走看看