码迷,mamicode.com
首页 > 其他好文 > 详细

报表工具FusionCharts的使用方法

时间:2014-12-03 14:23:40      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:mysql   servlet   xml   ajax   fusioncharts   

报表工具FusionCharts使用方法

一、 主题

报表工具FusionCharts的使用方法。

二、 目标

介绍使用FusionCharts的相关工具、方法、原理以及过程。

三、 概述

FusionCharts是一个很好的报表展示工具,不过需要Java相关语言工具辅助才能实现。实现方法也不难理解,包括数据准备、XML数据生成、FusionCharts控件加载以及报表展示。

四、 语言、工具、环境

Java Web相关语言工具包括:HTMLjavascriptAjaxJava/Servlet,数据库采用MySQLWeb中间件采用Tomcat

五、 过程

1.        创建数据库test并插入数据,具体内容见附件sql文件;

2.        建立Java/Servlet文件,安装FusionCharts输入xml数据的格式要求,从mysql数据库中查询数据并拼装成xml文件(GetFCXML.java)。编写完成后,测试数据组装与返回内容(执行“http://localhost:8080/ajax/GetFCXML”,返回内容为“<graph caption=‘MonthSale‘><set name=‘January‘ value=‘462‘ color=‘AFD8F8‘/><setname=‘Febrary‘ value=‘662‘ color=‘00D8F8‘/></graph>

3.        html建立简单的网页,放置一个按钮,通过点击按钮来绘制FusionCharts报表(太简单了,不写了,可以看源代码);

4.        通过AJAX技术请求报表展示并返回xml数据,AJAX技术主要包括XMLHttpRequest对象和定义回调函数,在回调函数中接收返回的xml数据。代码如下:

<script language="javascript"src="js/FusionCharts.js" charset="GBK"></script>

<script language="javascript">

       var xmlHttp;

       function createXMLHttp(){

              if (window.XMLHttpRequest) {

                     xmlHttp =new XMLHttpRequest();

              } else {

                     xmlHttp =new ActiveXObject("Microsoft.XMLHTTP");

              }

              //alert("createok!");

       }

       functionshowFusionCharts() {

              createXMLHttp();

              xmlHttp.open("POST","GetFCXML");

              xmlHttp.onreadystatechange= showMsgCallback;

              xmlHttp.send(null);

              //alert("sendok");

       }

       function showMsgCallback() {

              if(xmlHttp.readyState== 4){

                     if(xmlHttp.status== 200){

                            displayfc(xmlHttp.responseText);

                     }

              }

       }

</script>

5.        AJAX回调函数中返回的xml数据作为FusionCharts插件的初始化数据,就可以看到报表了。代码如下:

function displayfc(xmlstr){

              var chart = newFusionCharts("charts/Column3D.swf", "myChartId","500", "300");

              chart.setDataXML(xmlstr);           // 只要给这个参数赋值就可以了!

              chart.render("chartContainer");

       }

六、 报表展示效果

bubuko.com,布布扣

七、 总结

作者在实现这个功能前,从网上查了相关资料,不过大部分资料都是从某个项目中截取的,实现起来比较复杂,对于初学者也比较麻烦,并且难以理解,附件代码中的实现过程是一个最精简版本,便于上手。归纳起来实现要点包括:

1、  采用Servlet基于数据库拼装FusionCharts报表控件显示所需的xml数据;

2、  采用AJAX发起数据拼装请求并将返回结果传递给FusionCharts控件实例;

3、  FusionCharts控件的js文件和swf文件取出(注意是解密版,否则会显示trial字样,很不爽!)并在js中完成装载。

八、 参考资料

1.        http://fengfeng925.iteye.com/blog/581755

2.        http://sarin.iteye.com/blog/711494

九、 实验代码

    见附件。


本文出自 “易仔阿克的博客” 博客,请务必保留此出处http://lifudong.blog.51cto.com/2357095/1585917

报表工具FusionCharts的使用方法

标签:mysql   servlet   xml   ajax   fusioncharts   

原文地址:http://lifudong.blog.51cto.com/2357095/1585917

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!