`
cuisuqiang
  • 浏览: 3956262 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
3feb66c0-2fb6-35ff-968a-5f5ec10ada43
Java研发技术指南
浏览量:3666795
社区版块
存档分类
最新评论

FusionCharts生成报表应用

    博客分类:
  • J2EE
阅读更多

1.需要组装要展示的数据,至于如何怎样去设计数据模型,看你要展示的图形和需要的数据就行了。来个简单的。

实体类,只有两个属性,也可以使用Bean里面的实体类,无所谓了。

package com.golden.entity;

public class Doughnut {

	public Doughnut() {
	}

	private String label;

	private int value;

	public String getLabel() {
		return label;
	}

	public void setLabel(String label) {
		this.label = label;
	}

	public int getValue() {
		return value;
	}

	public void setValue(int value) {
		this.value = value;
	}

	public Doughnut(String label, int value) {
		super();
		this.label = label;
		this.value = value;
	}

}

 

2.做一个请求到Servlet,简单使用,也可以请求到Action,无所谓。该Servlet从后来得到数据,然后设置到该请求环境中。

package com.golden.servlet;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.golden.entity.Doughnut;

@SuppressWarnings("serial")
public class FirstServlet extends HttpServlet {
	
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		List<Doughnut> list = new ArrayList<Doughnut>();
		Doughnut d1 = new Doughnut("France", 17);
		Doughnut d2 = new Doughnut("India", 12);
		Doughnut d3 = new Doughnut("Brazil", 18);
		Doughnut d4 = new Doughnut("USA", 8);
		Doughnut d5 = new Doughnut("Australia", 10);
		Doughnut d6 = new Doughnut("Japan", 7);
		Doughnut d7 = new Doughnut("England", 5);
		Doughnut d8 = new Doughnut("Nigeria", 12);
		Doughnut d9 = new Doughnut("Italy", 8);
		Doughnut d10 = new Doughnut("China", 10);
		Doughnut d11 = new Doughnut("Canada", 19);
		Doughnut d12 = new Doughnut("Germany", 15);
		list.add(d1);
		list.add(d2);
		list.add(d3);
		list.add(d4);
		list.add(d5);
		list.add(d6);
		list.add(d7);
		list.add(d8);
		list.add(d9);
		list.add(d10);
		list.add(d11);
		list.add(d12);
		request.getSession().setAttribute("list", list);
		request.getRequestDispatcher("/show.jsp").forward(request, response);
	}

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

}

 

3.配置,例如需要的Swf文件和JS文件,因为需要JSTL,所以要引入包,页面引进标签,一些低级的工作,赶紧搞定。

4.页面加载时初始化方法解析数据生成XML文件的字符串,然后设置给SWF,他就显示数据了,搞定。

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page import="com.golden.entity.Doughnut"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<base href="<%=basePath%>">
		<title>FusionCharts报表生成页面</title>
		<script type="text/javascript" src="<%=request.getContextPath() %>/js/FusionCharts.js"></script>
		<script type="text/javascript">
		var majorXml;
		//var list;
		function init(){
			initXml();
		}
		function initXml(){
			majorXml="<chart palette='2' showBorder='1'>";
			majorXml += "<c:forEach var ='item' items='${list}'><set label='${item.label}' value='${item.value}'/></c:forEach>";
			majorXml+="</chart>";
			showDou3D();
		}
   		function showDou3D(){
	       var myChart=new FusionCharts("<%=request.getContextPath()%>/FusionCharts/Doughnut3D.swf", "ChartId", "600", "300", "0", "0");
	       myChart.setDataXML(majorXml);
	       myChart.render("majorbus");
	    }
		</script>
	</head>

	<body onload="init()">
		<center>
			<div style="" id="majorbus">
			</div>
		</center>
	</body>
</html>

 

5.不知道文件在哪里不要紧,在Webroot下建立js和FusionCharts文件夹,分别把附近弄进去,没有JSTL的LIB里有。

  • js.rar (4.5 KB)
  • 下载次数: 495
  • lib.rar (390.2 KB)
  • 下载次数: 797
分享到:
评论
13 楼 jun19910822 2011-03-04  
谢谢。这个网址我访问不了啊。是导入到word文档的嘛??
12 楼 melin 2011-03-04  
jun19910822 写道
请问有没有关于把图片,和数据保存到word文档里方面的思路和代码?


这里有一个到处图片的实例:http://demos.theactivegroup.com/?demo=charts&script=fusion


11 楼 melin 2011-03-04  
FC各种报表数据格式好像有差别。 建议使用FreeMarker模板生成xml,这样比较灵活
10 楼 jun19910822 2011-03-04  
请问有没有关于把图片,和数据保存到word文档里方面的思路和代码?
9 楼 nick216 2010-08-18  
不知道现在的版本有没有解决导出的问题


FC的效果还是非常好的,但是因为是flash的,不支持导出

不知道目前的版本还带这个功能了呢?
8 楼 sarin 2010-08-18  
7 楼 hellostory 2010-08-18  
tangzililiang 写道
这样更规范一些

能粘贴源代码借鉴下吗?
6 楼 tangzililiang 2010-08-18  
这样更规范一些
5 楼 tangzililiang 2010-08-18  
自己简单造一下轮子,把FusionCharts的各类图表封装成java api,调用直接输出xml数据,更方便,

下面是调用哪个api的代码:

action:
/** ***构造数据集,注:这里需要使用LinkedHashMap图表顺序才能与数据顺序保持一致******* */
Map data = new LinkedHashMap();
data.put("一月", "231");
data.put("二月", "129");
data.put("三月", "241");
data.put("四月", "164");
List dataList = new ArrayList();
dataList.add(data);
/** ***创建一个单系列图表对象,构造方法参数为图表标题****** */
SingleSeriesChart sChart = new SingleSeriesChart("FusionChart测试");
/** ***设置图表链接 * */
sChart.setAllSetLink("javascript:alert(\"123456\")");
// 可以通过Index取得每个set对象: sChart.getChartSet(0);
/** ***设置图表的label,参数为一个字符数组,不设置的话默认取map的key值**** */
sChart.setSetLabels("1月,2月,3月,4月".split(","));
/** ********给图表设置list数据集合*********** */
sChart.setDefaultList(dataList);
sChart.setShownames("1");
sChart.setShowLabels("0");
/** ***给图表设置每个数据单元设置颜色,不设的话默认随即生成颜色**** */
sChart.getChartSet(0).setColor("CCCCCC");
sChart.getChartSet(1).setColor("4B0082");
sChart.getChartSet(2).setColor("48D1CC");
sChart.getChartSet(3).setColor("8E8E38");
sChart.setAnimation("1");
//
PrintWriter out = response.getWriter();
//如果出现乱码,可能需要中文转码
out.print(new String(sChart.getXML().getBytes("GBK"), "ISO8859-1"));
         out.close();
return null;

jsp:
//FusionCharts测试
var url = escape("totalAnalyse.do?reqCode=chartTest");
function loadChart(){
var chart = new FusionCharts("<%=request.getContextPath()%>/FusionCharts/swf/charts/Column3D.swf", "ChartId1", "400", "300").setDataURL(url).render("chartdiv10");
}
loadChart();

效果图在下面的文件里
4 楼 hellostory 2010-08-18  
最近也在做一个B/S报表查询平台,正好也是使用FusionCharts工具,但不知道如何将FusionChart建模!
楼主的代码是否只能显示一种Doughnut风格的图标,如果需要换成柱状图等的,似乎需要在写一个Servlet??
3 楼 robyjeffding 2010-08-18  
还有一种,可以直接构建xml形式的字符串,可以在后台用StringBuffer来做
2 楼 cuisuqiang 2010-08-18  
你的建议不错,后台组装效率上可能会高一些!
1 楼 HelloJimmy 2010-08-18  
一个建议:
xml数据在server端生成,页面只负责接收xml和展示数据,这样效率更高更可靠;
将javaBean生成xml数据的工具很多,推荐用ThoughtWorks的xStream。

相关推荐

    FusionCharts flash报表所需完整文件

    基于提供的标签"**FusionCharts java flash报表**",我们可以推断这个工具特别适用于Java开发环境,并且它利用Flash技术来生成报表。在Java环境中,开发者可以使用FusionCharts的Java API来轻松地集成图表功能,处理...

    fusioncharts+报表工具(文档)

    在“FusionCharts+报表工具”的描述中提到,它是“很不错的免费报表生成工具”,这表明该工具不仅功能强大,而且对用户友好,可能提供免费版本供个人或小型项目使用。它特别强调了“flash的动态生成效果”,这意味着...

    fusioncharts+报表工具

    以创建一个简单的柱状图为例,介绍如何使用Fusioncharts生成图表: 1. **准备XML数据文件**:首先需要创建一个名为`data.xml`的文件,其中定义了图表所需的数据结构和样式设置。例如,可以设置图表标题、坐标轴名称...

    利用FusionCharts 实现数据图表展示

    FusionCharts的核心是JSON格式的数据,开发者需要将数据以JSON的方式传递给FusionCharts,然后它会自动生成相应的图表。这种数据驱动的方法使得数据与呈现分离,提高了代码的可读性和维护性。 实现FusionCharts的...

    FusionCharts统计报表的详细总结

    同时,`工具`标签可能意味着FusionCharts提供了许多辅助工具,如图表生成器、预览器等,这些工具可以帮助开发者快速构建和调试图表。 总结来说,FusionCharts是一个强大的图表库,适用于创建各类统计报表,它提供了...

    Fusioncharts报表工具帮助.rar

    FusionCharts是一款强大的数据可视化工具,它以交互式的图表和图形呈现数据,广泛应用于Web应用程序中,特别是用于创建丰富的、动态的数据报告。标题中的“Fusioncharts报表工具帮助.rar”表明这是一个关于如何使用...

    FusionCharts+asp.net+sqlserver生成图表

    总的来说,这个实例教你如何结合现代Web技术,使用FusionCharts、asp.net和SQL Server实现从数据库获取数据并生成图表的过程,这对于数据分析、报表展示和Web应用开发具有很高的实践价值。通过这样的实践,你可以更...

    FusionCharts报表

    FusionCharts是一款强大的数据可视化工具,专为生成交互式、丰富多彩的图表而设计。这款报表工具广泛应用于商业智能、数据分析和Web应用开发中,能够帮助用户以直观的方式理解和解析复杂的数据集。 一、...

    FusionCharts

    FusionCharts是一款强大的数据可视化工具,专为生成各种报表而设计。它以其便捷性、高效性和灵活性著称,使得创建专业级别的报表变得轻而易举。这款工具支持多种图表类型,能够满足用户在数据分析和展示时的各种需求...

    fusionCharts报表

    FusionCharts是一款强大的数据可视化工具,专为生成交互式、丰富的图表和报表而设计。它在IT行业中广泛应用于数据分析、业务报告、项目监控等场景,为用户提供直观且易于理解的数据展示方式。以下是对FusionCharts...

    java fusionCharts 报表

    Java与FusionCharts报表开发是将Java编程语言与FusionCharts报表工具相结合,用于创建交互式、视觉吸引力强的数据可视化应用。FusionCharts是一款JavaScript图表库,它支持超过90种图表类型,如柱状图、饼图、线图、...

    Fusioncharts 报表工具

    FusionCharts是一款强大的图表生成工具,专为创建交互式、视觉吸引人的数据可视化报表而设计。这款工具基于Flash技术,提供了丰富的图表类型和多种自定义选项,使得数据展示既美观又易于理解。在描述中提到的"效果...

    FusionCharts2D3D报表统计源码.rar

    在这个"**FusionCharts2D3D报表统计源码.rar**"压缩包中,您将找到一个基于FusionCharts进行二次开发的示例项目,它包括了柱状图、饼图、折线图以及地图等多种图表,用于展示销售统计信息,并且所有数据都是动态读取...

    js实现图表-FusionCharts

    **四、FusionCharts在报表中的应用** 1. **数据可视化**:FusionCharts可以帮助快速构建出具有吸引力的数据报告,使复杂的业务数据变得清晰易懂。 2. **实时更新**:实时数据显示,如监控系统、仪表盘,可以通过Ajax...

    FusionCharts 导出图片

    总之,FusionCharts在JSP环境中的应用不仅限于简单的数据展示,还支持高级功能如图片和PDF导出,使得数据可视化更加灵活和实用。通过熟练掌握这些技能,你可以为用户提供更丰富的交互体验和更高质量的报表输出。

    FusionCharts3.1

    FusionCharts3.1主要应用于Web应用程序,帮助开发者将数据库中的数据转化为直观的图表,适用于业务分析、报表展示、数据仪表盘等多种场景。在描述中提到的“去掉水印的swf”,指的是FusionCharts3.1生成的图表文件,...

    FusionCharts完整资料集

    在"报表FusionCharts讲解及简单实例.doc"和"FusionCharts步骤及例子.doc"中,提供了FusionCharts的使用指南和基础示例。这些实例涵盖了如何初始化图表、设置图表属性、加载数据源以及实现图表交互等关键步骤,对于...

    FusionCharts_XT_Evaluation

    - **JSON(JavaScript Object Notation)**: JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在FusionCharts中,JSON数据通常以对象的形式提供,包含了图表的各个系列和属性。 - **...

    FusionCharts for Delphi(Korp Chart)

    FusionCharts for Delphi通过集成Flash FusionCharts组件,使得Delphi应用程序能够生成Flash动态图表。这种集成方式使得Delphi应用程序不仅具有桌面应用的稳定性和性能,还能利用Flash的动态性和丰富的视觉效果,为...

    FusionCharts_ASP_Class

    通过深入理解和熟练应用FusionCharts ASP Class,开发者可以轻松地在ASP项目中实现数据可视化,增强报表和分析界面的吸引力,提高业务分析的效率。同时,结合FusionCharts丰富的图表类型和自定义选项,可以创造出...

Global site tag (gtag.js) - Google Analytics