反馈已提交

网络繁忙

JS实现工具栏按钮只导出单一格式文件

  • 文档创建者:yiyemeiying
  • 编辑次数:11次
  • 最近更新:RosieY 于 2021-07-23
  • 1. 概述

    1.1 问题描述

    FineReport 支持多种格式的报表导出方式,直接使用 FineReport 内置导出按钮可以快捷地将报表导出为其他格式。但有时我们只需要导出一种格式的文件,这时就可以通过自定义按钮实现只导出一种文件格式。如下图所示:

    2021-01-05_15-59-52.gif

    1.2 实现思路

    通过在工具栏中添加自定义按钮,按钮事件中设置要导出的文件格式。

    2. 示例

    我们以自定义导出 txt 文件为例。

    2.1 准备模板

    准备内置模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\GettingStarted.cpt

    点击可下载模板:GettingStarted.cpt

    2.2 添加自定义按钮

    1)打开模板,点击「模板>模板 Web 属性>分页预览设置」,选择「为模板单独设置」,添加一个自定义按钮。如下图所示:

    image.png

    2)点击自定义按钮图标,进入自定义按钮设置界面,修改其名称为「导出txt」,添加「控件图标」,再为其添加「自定义事件」,事件内容为将报表导出为 txt 文件。如下图所示:

    事件中需要添加 2 个参数 servletURL 和 reportName,参数值为公式:servletURL 和 reportName。

    image.png

    JavaScript 代码如下:

    var mrname=encodeURI(encodeURI(reportName));  /* 中文目录及文件名,通过帆软自带js转码*/    
    var mrurl=servletURL+'?viewlet='+mrname; /* 获取路径*/    
    /*window.open(mrurl+'&format=text');*/    
    window.location.href=mrurl+'&format=text';/*下载文件*/

    JS 代码中的 format=text 为导出的文件格式,若需导出其他格式可修改对应位置,其他格式导出参数为:

    format=word     //导出word格式的文件    
    format=excel    //导出excel格式的文件    
    format=pdf       //导出pdf格式的文件  

    2.3 效果预览

    保存模板,点击「分页预览」效果如下图所示:

    2021-01-05_15-59-52.gif

    注:不支持移动端。

    3. 模板下载

    已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\工具栏JS实例\02-JS实现工具栏按钮只导出单一格式文件.cpt

    点击下载模板:02-JS实现工具栏按钮只导出单一格式文件.cpt

    附件列表


    主题: 报表专题
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    7*24h

    智 能客 服