如何用fineReport自定义模板,导出自己指定id的数据,并且保存到本地

2024-11-07 20:45:15
推荐回答(1个)
回答(1):

  • 1. 描述

  • 2. 思路

  • 3. 操作步骤

  • 4. 预览效果

  • 5. 已完成模板

  • 1. 描述编辑

    FR虽然有内置的导出按钮,但是导出名称不能自定义,如果想要自定义导出文件名称,那么该如何实现呢?


    2. 思路编辑

    方法一:通过模板Web属性中的标题实现自定义导出文件名称。

    方法二:在导出js中通过__filename__参数修改导出文件的名称。

    3. 操作步骤编辑

    3.1 方法一

    1)打开%FR_HOME%\webapps\webroot\WEB-INF\reportlets\GettingStarted.cpt。

    2)修改ds1:SELECT * FROM 销量 where 地区 ='${Diqu}'。


    3)点击菜单模板>模板参数,添加模板参数Riqi。

    4)点击菜单模板>模板web属性,输入标题:${Diqu+"_地区_"+Riqi}。


    5)修改模板标题为动态标题:$Diqu + "地区销售概况"。

    6)打开参数面板,删除查询按钮,将下拉框按钮的控件名修改为Diqu:

    7)在参数面板添加标签控件,控件值为:导出日期:,添加日期控件,控件名称修改为:Riqi,控件值选择公式:TODAY()。

    8)给下拉框控件Diqu和日期控件Riqi添加编辑后事件,实现自动查询:


    js代码如下:

    9)添加一个按钮控件,控件名称改为:导出,添加点击事件:



    js代码如下:

    注:Diqu、Riqi是参数名称,默认是在当前页面导出的

    10)点击参数面板空白处,在右侧的属性面板中,将点击查询前不显示报表内容的勾去掉。


    3.2 方法二

    1)在上节所示基础上进行修改,清除模板>模板web属性内的标题。


    2)修改点击事件

    选择导出按钮,编辑点击事件,修改js代码:


    js代码如下:

    4. 预览效果编辑

    4.1 PC端预览效果