使用JavaReport制作Web报表与图形 入门示例

      工作中非常需要根据客户录入的数据在页面上生成一些报表,苦于那个AnyChart是收费的,不敢用,所以就找了个免费的基于Java的第三方报表组件:
     JavaReport是一款国产的第三方组件,它可以用来开发Web报表,也能用来制作Web图形。它在报表展现方面表现优异,能实现Word, Excel, PDF, CSV等格式的精确导出。

       首先,你需要下载JavaReport-V3-Enterprise-Released.jar这个包,

       此处推荐一个下载链接:http://202.102.94.57/5/ishare.down.sina.com.cn/17631946.jar?ssig=D6L1AIHILb&Expires=1358265600&KID=sina,ishare&ip=1358172332,58.212.239.&fn=JavaReport-V3-Enterprise-Released.jar

 将这个jar包引入项目文件,如下图:

 

接下来以一个简单的JSP页面举例:

 webChart.jsp:

<%@ page language="java" 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("湖南省2011年继续教育报名人数统计图");
		//在报表表的页眉添加一条横线
		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 e){
				e.printStackTrace();
			}
		}
		return report;
	}

	//读者可根据需要设置数组的值,或从数据库中取出值放入数组中以动态显示数据
	public Double[][] getData(HttpServletRequest request){
		Double[][] data = new Double[1][4];
		data[0][0] = new Double(50);
		data[0][1] = new Double(50);
		data[0][2] = new Double(35);
		data[0][3] = new Double(55);
		return data;
	}

	//定制Web报表在页面首部显示的工具栏为标准的样式,增加一个“返回”按钮,返回到首页
	public String getToolbarScript(HttpServletRequest request){
		return "<a href=\"webChart.jsp\"><img src=\""+request.getRequestURI()+
				"?op=Resource&name=/resource/back.gif\" border=\"0\" alt=\"返回\"></a>";
	}
%>

运行结果如下:

使用JavaReport制作Web报表与图形 入门示例_第1张图片

 

在顶部的工具栏中,可以将报表导出为Word、Excel、PDF等多种格式。

 

小提示:

我第一次在Tomcat 6.0中发布这个页面的时候报错了,内容为:

com.javareport.http.WebReportEngine cannot be resolved to a type

但其实这个包早就已经引入了,不知为何还是报错。后来把这个组件从项目中删了,重新引入一次,重新发布页面,然后就能正常运行了,,,估计又是Eclipse抽了。

 

你可能感兴趣的:(使用JavaReport制作Web报表与图形 入门示例)