当前位置:首页 > 技术知识 > 正文内容

Fusioncharts教程之图表组件导出图片和PDF文件

maynowei8个月前 (09-21)技术知识96

关于Fusioncharts图表组件导出图片、PDF文件的详细操作步骤如下,这里:

1、下载相关文件

要想导出图片必须下载fusionCharts 3.1以上的破解版,除了自己需要的swf文件外(包括FCExporter.swf) 还要两个js文件:

相信各位应该很清楚FCExporter.swf和这两个js的用途,在这我就不做多解释了!将两个js导入jsp页面:

2、生成报表

实现报表很简单,只需要一下几行代码即可:

1.columnChart = new FusionCharts("FCF_Column3D.swf","Report", "400", "300", "0", "1");//其他参数不做解释,最后一个参数设置为1 表示非debug模式显示报表

2.columnChart.setDataXML(data);//data为数据源 加载数据

3.columnChart.render("ReportDiv");//需要显示在哪个div里 绑定div的id属性

OK各位,当说到这里的时候,我要插入一点,fusionCharts加载数据有三种方式: Xml文件格式加载,Javascript的json格式加载,字符串拼凑加载。

最重要的是,在chart的属性上要包括以下三个属性:

3、右键导出

当你的界面能看到超炫的报表了,而且确保是fusionCharts 3.1以上的版本,此时您在报表上右键是绝对可以看到导出菜单的:

呵呵,到了这里,奉劝各位别高兴太早!尽管你现在导出jpg、png、或pdf都没用的,根本就没导出。别急,我们回到最开始的数据源代码,想要导出图片必须加上以下参数:

1.exportEnabled='1'(开启导出模式)

2.exportAtClient='1'(确定客户端导出)

3.exportHandler='fcExporter1' (对应前台导出处理程序的标识,网络说是写一个jsp、asp或php的路径,那是服务端导出,在这里不用)

4.exportDialogMessage='正在生成,请稍候...' (导出时的提示语)

5.exportFormats='JPG=生成JPG图片|PDF=生成PDF文件'(右键菜单格式化成中文)

到这里虽然你还无法导出图片,当就快接近尾声了,此时你可以看到的效果已经变成中文的了的。

4、前台编写导出脚本

还记得我么之前说的exportHandler='fcExporter1'吗?属性值是绑定前台导出处理程序的标识。那现在我们就来写这个处理程序。在你生成报表代码的后面添加如下代码:

01.var myExportComponent = new FusionChartsExportObject("fcExporter1","FCExporter.swf"); //参数1:为处理程序标识,参数二为:上文中提到的导出需要用到的swf文件

02.myExportComponent.componentAttributes.btnColor = 'EAF4FD';

03.myExportComponent.componentAttributes.btnBorderColor = '0372AB';

04.myExportComponent.componentAttributes.btnFontFace = 'Verdana';

05.myExportComponent.componentAttributes.btnFontColor = '0372AB';

06.myExportComponent.componentAttributes.btnFontSize = '12';

07.//Title of button


08.myExportComponent.componentAttributes.btnsavetitle = '另存为'


09.myExportComponent.componentAttributes.btndisabledtitle = '右键生成图片';

以上都是导出按钮的样式设置 不做解释

最关键的是以下这行代码:参数exproterDiv表示导出按钮将在哪个div里面显示,即:我们必须在页面加上一个div 且id=exproterDiv

1.myExportComponent.Render("exproterDiv");

当这一切都成功的设置后,您再尝试右键生成jpg图片之后,你可以在id为exproterDiv里面看到:

点击’另存为’将弹出保存框:

本站文章除注明转载外,均为本站原创或翻译

相关文章

高效办公,你值得拥有之原型工具AXURE篇

简介 Axure RP是美国Axure Software Solution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格、设计功能和界面的专家能够快速创建应用软件或Web网站的线框图...

Android让视图折叠(安卓叠加视图设置)

Android UI Libs之ExpandableLayout1. 说明ExpandableLayout,顾名思义,可扩展的布局,是一个可以帮助我们实现折叠功能的第三方库,折叠时,只显示头部,打开时...

C# 中的多线程同步机制:lock、Monitor 和 Mutex 用法详解

在多线程编程中,线程同步是确保多个线程安全地访问共享资源的关键技术。C# 提供了几种常用的同步机制,其中 lock、Monitor 和 Mutex 是最常用的同步工具。本文将全面介绍这三种同步机制的用...

Linux C++实现多线程同步的四种方式(超级详细)

背景问题:在特定的应用场景下,多线程不进行同步会造成什么问题?通过多线程模拟多窗口售票为例:#include <iostream>#include<pthread.h>#inc...

centos系统安装oracle简易客户端instantclient

一、目录1:centos 环境准备2:instant client 下载3:instant client 安装4:instant client 配置5:测试连接二、安装步骤1:zip,unzip命令安...

python-oracledb——利用python连接Oracle数据库的好用方法

这篇文章最早发布在CSDN了,最近想尝试使用一下头条,重新转移过来了。背景介绍之前使用的数据库一直是MySql,偶尔使用PostgreSQL,都是利用的数据库连接池使用;最近需要在Oracle数据库取...