根据报表导出自定义文件名称

问题描述:

  1. 在普通报表(.cpt文件)导出时,希望导出的文件名不是默认的.cpt文件名,而是显示为"采购报表"。

  2. 同时要求导出的Excel文件中,第一个工作表(sheet1)的名称要显示为我的参数中的项目名称 这个是动态的

image.png

FineReport 帆软用户1GcXSXSNwj 发布于 2025-5-7 11:29
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
华莉星宸Lv7资深互助
发布于2025-5-7 11:32
最佳回答
0
FR-LeonLv4初级互助
发布于2025-5-7 11:39
方法1:使用导出事件(推荐)
  1. 设置导出文件名在模板Web属性中启用导出事件,设置自定义文件名为固定值"采购报表"

  2. 动态Sheet名称在导出Excel时添加参数:


    // 按钮点击事件

    var projectName = _g().getParameter("项目参数名");

    window.location = "${servletURL}?viewlet=xxx.cpt&format=excel&extype=sheet&sheet_name=" + encodeURIComponent(projectName) + "&__filename__=采购报表";
方法2:使用自定义导出插件
  1. 安装插件安装「自定义导出文件名称」插件并启用

  2. 配置规则

    • 文件名类型选择「字符串」,填写"采购报表"

    • 勾选「优先使用文件名参数」以支持动态覆盖

  3. 动态Sheet名通过URL参数传递:

    &sheet_name=项目名称
效果验证
  • 导出的Excel文件名固定为采购报表.xlsx

  • 第一个Sheet名称会显示参数中的动态项目名称

  • 特殊字符会自动替换为下划线

注:如果参数值含特殊符号,需使用encodeURIComponent()编码

最佳回答
0
CD20160914Lv8专家互助
发布于2025-5-7 12:05

需要1:可以用插件,也可以自定义写js,导出让它文件名自定义

image.png

image.png

var enddate=_g().parameterEl.getWidgetByName("结束日期").getValue();

var bm=_g().parameterEl.getWidgetByName("citycode").getValue();//复选框

//报表路径和名称,你自己改,只改viewlet=后面的,前面的不要动!

var url = ("${servletURL}?viewlet=cs/detail.cpt");

//传参数和导出excel的格式设置,以及文件名称

var config={

startdate:startdate,

enddate:enddate,

city_code:bm,

format:"excel",

extype:"simple",

__filename__:"采购报表"//自定义导出的文件名称你自己去修改

};

FR.doHyperlinkByPost(url,config,"_self");//传参数执行导出

需求2:第一个工作表写公式等于参数就行了!

image.png

最佳回答
0
iQianLv4初级互助
发布于2025-5-7 16:34

image.png

image.png

  • 5关注人数
  • 39浏览人数
  • 最后回答于:2025-5-7 16:34
    请选择关闭问题的原因
    确定 取消
    返回顶部