Cognos 用JS实现导出Excel按钮 ?求代码,急!

要求支持IE10、google等高版本的浏览器... 要求支持IE10 、google等高版本的浏览器 展开
 我来答
匿名用户
推荐于2016-08-25
展开全部

我用的报表开发工具是FineReport,这种情况出现在FineReport中的解决方案是

1. 描述

FineReport支持多种不同的导出方式,直接使用FineReport内置导出按钮可以非常快捷方便的来对各种格式的输出,但是我们在web页面集成中的时候,往往只想讲报表内容嵌入到iframe中,而工具栏以及工具栏上的按钮都会隐藏掉,而使用web页面自定义的按钮,那么,此时,这种自定义按钮如何实现导出呢,如下图所示:

2. 示例

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

2.1 FR报表设置

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

2.2 自定义导出按钮

web页面中定义了6个自定义导出按钮,那么怎样才能实现导出操作呢?

FineReport导出操作的js接口为:

导出PDF:exportReportToPDF()

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

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

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

导出[图片]:exportReportToImage('gif')【括号里面可以更换参数,比如说png,jpg等等图片类型】

导出[word]:exportReportToWord()

故,各个按钮的点击事件应该调用上述的js接口来实现其对应的导出格式,比如说导出PDF,那么其按钮的onclikc事件为:

 onclick="document.getElementById('reportFrame').contentWindow.contentPane.exportReportToPDF()"

注:document.getElementById('reportFrame')是获取到iframe框架,然后通过contentWindow得到报表窗口,并拿到contentPane这个报表容器,最后就可以从容器中调用各种导出接口的方法了。

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

2.3 完整代码

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

<html>  

  <head>    

  <title>FineReport自定义导出</title>    

  <meta http-equiv="Content-Type" content="text/html; charset=GBK" />    

  </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.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='ReportServer?reportlet=doc/Primary/DetailReport/Details.cpt' ></iframe>    

  </body>    

</html>  

3. 效果查看

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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式