如何实现输入一个开始时间2024-01-01,结束时间2024-01-03,然后导出三天每天一个文件

如何实现输入一个开始时间2024-01-01,结束时间2024-01-03,然后导出三天每天一个文件

FineReport 轻舟已过万重山 发布于 2025-1-2 15:08
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
CD20160914Lv8专家互助
发布于2025-1-2 15:10(编辑于 2025-1-2 15:52)

你是要用定时调度?那把结束日期+2就行了

select * from 表名称

where 1=1

and 日期字段>='${开始日期}'

and 日期字段<='${DATEDELTA(开始日期,2)}'

  这个结束日期参数你隐藏起来,后面用定时调度查询对应的开始与结束时间的数据就行了!

--------------------------------

如果是按钮参数面板面板只有一个开始日期,想得到3天不同的数据并下载

------------比如sql这样写-------------------

select * from 表名称

where 1=1

and 日期字段='${rqcs}'

js的自定义下载按钮这样,参考日期参数去构建一个数组,生成3个日期,然后按日期的数组生成不同的日期传入后现导入

--------------------------以下是整体代码------------------------------

let rq=this.options.form.getWidgetByName("rqcs").getValue();

let [year, month, day] = rq.split('-').map(Number);

let dateArray = [];

for (let i = 0; i < 3; i++) {

    let currentDate = new Date(year, month - 1, day + i);

    let y = currentDate.getFullYear();

    let m = (currentDate.getMonth() + 1).toString().padStart(2, '0');

    let d = currentDate.getDate().toString().padStart(2, '0');

    dateArray.push(y+"-"+m+"-"+d);

}

//开始循环日期数组

for (let s=0; s<dateArray.length; s++){

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

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

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

var config={

rqcs:dateArray[s],//传入日期的值

format:"excel",

extype:"simple",

__filename__:dateArray[s]+"_的数据"//自定义导出的文件名称你自己去修改

};

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

}

-----------------------代码结束---------------------

只有一个日期可以生成2天后的日期,形成一个数组

image.png

最佳回答
0
华莉星宸Lv7资深互助
发布于2025-1-2 15:10

直接在地址后面拼接上参数

URL直接导出报表 https://help.fanruan.com/finereport/doc-view-1142.html

最佳回答
0
snrtuemcLv8专家互助
发布于2025-1-2 15:15

这个首先你查询出数据,按日期分组分页,就是按组分页

按组分页 https://help.fanruan.com/finereport/doc-view-333.html

然后自带分页分sheet导出

做不到每个一个文件,只能分sheet

Excel导出 https://help.fanruan.com/finereport/doc-view-1123.html

image.png

最佳回答
0
shirokoLv6资深互助
发布于2025-1-2 15:42
  • 5关注人数
  • 59浏览人数
  • 最后回答于:2025-1-2 15:52
    请选择关闭问题的原因
    确定 取消
    返回顶部