FineReport中JS如何自定义按钮导出

FineReport支持多种不一样的导出方式,直接使用FineReport内置导出按钮能够很是快捷方便的来对各类格式的输出,可是咱们在web页面集成中的时候,每每只想将报表内容嵌入到iframe中,而工具栏以及工具栏上的按钮都会隐藏掉,而使用web页面自定义的按钮,那么,此时,这种自定义按钮如何实现导出呢?html

如上图所示,新建一个html页面,定义一个工具栏和一个iframe,工具栏中定义上图所示的按钮,iframe中嵌入FineReport中的报表,以下图:web

FineReport报表设置框架

打开设计器,找到上面web页面中嵌入的那张模板,因为要使用自定义按钮做为工具栏,那么FineReport报表内置的工具栏就无需显示出来。点击模板>模板web属性>分页预览设置,去掉使用工具栏前面的勾选,以下图:ide

 

自定义导出按钮工具

Web页面中定义了9个自定义导出按钮,那么怎样才能实现导出操做呢?ui

FineReport导出操做的JS接口为:spa

导出PDF:exportReportToPDF()设计

导出[Excel](分页):exportReportToExcel('page')orm

导出[Excel](原样):exportReportToExcel('simple')htm

导出[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>

效果查看

点击不一样的按钮,便可看到其导出的结果:

相关文章
相关标签/搜索