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

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

maynowei9个月前 (09-21)技术知识110

关于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里面看到:

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

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

相关文章

C++并发同步核心-mutex深度解析:守护共享数据的关键

在多线程编程中,当多个线程需要访问和修改共享数据时,如果没有任何同步机制,就可能发生数据竞争(Data Race),导致程序行为不可预测、数据损坏甚至崩溃。C++标准库通过<mutex>头...

掌握C语言多线程:高效并发编程指南

一、多线程基础概念介绍多线程编程是现代软件开发中提高程序性能和响应性的重要技术。在C语言中,pthread(POSIX Threads)库是实现多线程编程的标准工具。本节将通俗易懂地介绍多线程的核心概...

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

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

不需安装oracleclient连接oracle数据库方案

在Oracle官方发布ODP.net之前,我们通常使用微软的System.data.OracleClient进行Oracle数据库操作,它的缺点是必须要装Oracle客户端OracleClient,如...

Oracle中泄露“天机”的TNS(在oracle中发出的下列查询)

数据库的安全是长期存在的问题。在目前大量的数据泄露事件以及漏洞面前,大家看到的大都是SQl注入、越权操作、缓冲区溢出等这些具体漏洞。往往却忽视了造成这些问题的前提,黑客想要入侵数据库一定会尝试获取数据...

Oracle 不是有效的导出文件,标头验证失败 解决方法

第一种:网上搜索到的大多解决方法是说导出文件时使用的Oracle版本不一致问题,需要修改dmp文件的版本号。如果确定版本号确实不一样,请自行搜索一下解决方法。第二种:备份dmp文件时,备份的语句可能使...