FineReport支持多种不同的导出方式,直接使用FineReport内置导出按钮可以非常快捷方便的来对各种格式的输出,但是我们在web页面集成中的时候,往往只想将报表内容嵌入到iframe中,而工具栏以及工具栏上的按钮都会隐藏掉,而使用web页面自定义的按钮,那么,此时,这种自定义按钮如何实现导出呢?
如上图所示,新建一个html页面,定义一个工具栏和一个iframe,工具栏中定义上图所示的按钮,iframe中嵌入FineReport中的报表,如下图:
FineReport报表设置
打开设计器,找到上面web页面中嵌入的那张模板,由于要使用自定义按钮作为工具栏,那么FineReport报表内置的工具栏就无需显示出来。点击模板>模板web属性>分页预览设置,去掉使用工具栏前面的勾选,如下图:
自定义导出按钮
Web页面中定义了9个自定义导出按钮,那么怎样才能实现导出操作呢?
FineReport导出操作的JS接口为:
导出PDF:exportReportToPDF()
导出[Excel](分页):exportReportToExcel('page')
导出[Excel](原样):exportReportToExcel('simple')
导出[Excel](分页分sheet):exportReportToExcel('sheet')
导出[Excel](分页导出xls格式):exportReportToExcel('page_isExcel2003')
导出[Excel](原样导出xls格式):exportReportToExcel('page_isExcel2003')
导出[Excel](分页分sheet导出xls格式):exportReportToExcel('page_isExcel2003')
导出[图片]:exportReportToImage('gif')【括号里面可以更换参数,比如说png,jpg等等图片类型】
导出[word]:exportReportToWord()
故,各个按钮的点击事件应用调用上述的JS接口来实现其对应的导出格式,比如说导出PDF,那么其按钮的onclick时间为:
onclick="document.getElementById('reportFrame').contentWindow.contentPane.exportReportToPDF()"
docment.getElementById('reportFrame')是获取到iframe框架,然后通过contentWindow得到报表窗口,并拿到contentPane这个报表容器,最后就可以从容器中调用各种导出接口的方法了。
其他的几个按钮的导出事件这里就不一一讲解了。
完整代码
根据上述同样的方法为其他几个按钮添加导出事件,完整代码如下:
<html>
<head>
<title>FineReport自定义导出</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<fieldset>
<div id="toolbar">
<button type="button" onclick="document.getElementById('reportFrame').contentWindow.contentPane.exportReportToPDF()">导出[PDF]</button>
<button type="button" onclick="document.getElementById('reportFrame').contentWindow.contentPane.exportReportToExcel('page')">导出[Excel](分页)</button>
<button type="button" onclick="document.getElementById('reportFrame').contentWindow.contentPane.exportReportToExcel('simple')">导出[Excel](原样)</button>
<button type="button" onclick="document.getElementById('reportFrame').contentWindow.contentPane.exportReportToExcel('sheet')">导出[Excel](分页分sheet)</button>
<button type="button" onclick="document.getElementById('reportFrame').contentWindow.contentPane.exportReportToExcel('page_isExcel2003')">导出[Excel](分页导出xls格式)</button>
<button type="button" onclick="document.getElementById('reportFrame').contentWindow.contentPane.exportReportToExcel('simple_isExcel2003')">导出[Excel](原样导出xls格式)</button>
<button type="button" onclick="document.getElementById('reportFrame').contentWindow.contentPane.exportReportToExcel('sheet_isExcel2003')">导出[Excel](分页分sheet导出xls格式)</button>
<button type="button" onclick="document.getElementById('reportFrame').contentWindow.contentPane.exportReportToImage('png')">导出[图片]</button>
<button type="button" onclick="document.getElementById('reportFrame').contentWindow.contentPane.exportReportToWord()">导出[Word]</button>
</div>
</fieldset>
<iframe id="reportFrame" width="100%" height="100%" src='/WebReport/ReportServer?reportlet=doc/Primary/DetailReport/Details.cpt' ></iframe>
</body>
</html>
效果查看
点击不同的按钮,即可看到其导出的结果:
相关推荐
报表开发工具FineReport中js自定义按钮导出.pdf
FineReport报表工具自定义控件CSS概述
在日常使用地图过程中,通常会遇到地图标签,提示点等显示不满足我们的需求,需要进行JavaScript代码编写。本文主要利用FineReport的示例来讲述如何用JavaScript自定义地图标签。
在登录平台时,不希望使用FR默认的内置登录界面,想通过自定义登录界面实现登录操作,如何可以实现呢?
FineReport作为插件化开发的报表软件,有些特殊需求的功能需要自己开发,开发的插件包帆软官方有提提供,可以去帆软论坛上找,本文将主要介绍如何开发一个自定义控件,这里讲讲方法论。
很多报表工具都自带大量的函数,在正常情况下足够满足用户的报表制作需求,但是在一些特殊领域,可能需要一些特殊的函数,在这种情况下,报表工具FineReport提供了自定义函数机制,可以由用户根据业务需要自己来定义...
FineReport设计器有自动的消息推送功能,可设置报表定时推送和常规的日报周报推送。官方有自己的消息推送的接口,不过有些用户旺旺希望自己开发,符合自己需求的推送界面。 下面这个方案就从逻辑层面简单阐述一个...
FineReport报表软件API源代码之程序数据集、自定义函数和导出API.docx
动态列报表,使用参数控件联动筛选需要展示的列的数据,该资源包下包含了已经完成的模板和JS以及所使用的函数公式。
jQuery是一个快速的,简洁的JavaScript库,能让用户更方便地处理...因为FineReport报表解析后最终成为一个html页面,因此可以使用JS对报表进行各种处理,可以选择使用jQuery框架的所有方法对报表进行操作。
在实际的应用中会经常需要将数据导出成excel,导出的方式除原样导出还有分页导出、分页分sheet导出和大数据量导出,这些导出方式在JAVA程序中分别有不同的接口来实现。
报表开发工具FineReport参数控件和报表内容自动居中设置方法
FineReport自定义css,只适用7.0系列版本。。。。。。
主要介绍了 FineReport中自定义登录界面的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
配置FineReport服务器之前,首先确保机器上已经安装了Tomcat, Resin,Weblogic,Websphere等应用服务器之一; 在FineReport的安装软件中内置了一个jetty服务器,也可以启动它来浏览报表。
在报表开发过程中,有些需求可能无法通过现有的功能来实现,需要开发人员二次开发,以FineReport为例,可以使用网页脚本、API接口等进行深入的开发与控制。 考虑到JS脚本开发的使用较多,这里先先简单介绍如何用JS对...
报表开发工具FineReport中如何把报表放到网页中显示
报表开发工具FineReport中如何把报表放到网页中显示
报表工具FineReport使用教程之自动计算日期.docx