喝水不长肉
作者喝水不长肉·2017-02-28 10:52
软件开发工程师·帆软

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

字数 1435阅读 1683评论 0赞 0

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:exportReportToExcel('sheet')

导出Excel:exportReportToExcel('page_isExcel2003')

导出Excel:exportReportToExcel('page_isExcel2003')

导出Excel: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这个报表容器,最后就可以从容器中调用各种导出接口的方法了。

其他的几个按钮的导出事件这里就不一一讲解了。

完整代码

根据上述同样的方法为其他几个按钮添加导出事件,完整代码如下:


    
  FineReport自定义导出  
    
    
  
 
    

效果查看

点击不同的按钮,即可看到其导出的结果:

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关问题

相关资料

X社区推广