反饋已提交
網絡繁忙
实际业务场景中,可能会碰到从主表勾选数据,将多个子表以 Excel 的形式导出,如下图所示:
主表新增自定义按钮,给按钮添加点击事件,获取勾选的复选框,批量导出指定子表。
新建普通报表,新增数据集 ds1,SQL 语句为:select * from 订单 limit 10
如下图设计表格,将字段拖入到对应单元格中。
A1 单元格:添加按钮控件,控件名自定义。
A3 单元格:添加复选按钮控件,此处注意复选按钮控件左父格需设置为 B3。
选中 A1 单元格,添加点击事件,如下图所示:
JavaScript 代码如下:
var $span = $('.fr-checkbox-checkon'); //获取选中的复选框 var $tds = $("td").has($span); //定义选中复选框的单元格 var $trs = $("tr").has($tds);for (var i = 1; i < $trs.length; i++) {var name = $("td:eq(2)", $($trs[i])).find("div").html(); //获取选中的C3单元格的值 //alert(name);window.open("http://localhost:8075/webroot/decision/view/report?viewlet=%25E6%2589%25B9%25E9%2587%258F%25E5%25AF%25BC%25E5%2587%25BA_%25E5%25AD%2590%25E8%25A1%25A8.cpt&op=write&id="+name+"&format=excel&extype=simple"+"&__filename__="+name);} //子报表设计完成后,点击填报预览,将子表的URL复制到&id之前
保存报表,重命名为批量导出_主表,点击填报预览,预览下主表的效果,如下图所示:
新建普通报表,新建数据集 ds1,SQL 语句为:
select
d.订单ID,d.货主名称,d.货主地址,d.订购日期,dm.产品ID,dm.单价,dm.数量,dm.进价,dm.折扣
from 订单 d
left join 订单明细 dm on d.订单ID=dm.订单ID
where d.订单ID='${ID}'
如下图设计表格,将字段拖入到对应单元格内。
保存报表,重命名为批量导出_子表,点击填报预览,将子表的 URL 拷贝到主表点击事件的代码中。
主表点击填报预览,复选几个子订单,点击导出按钮,即可导出对应的子表,如下图所示:
注:不支持移动端。
已完成模板可参见:
%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\ExcelImport\批量导出_主表.cpt
%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\ExcelImport\批量导出_子表.cpt
点击下载模板:
批量导出_主表.cpt
批量导出_子表.cpt
注:如果发现点击后,只导出一个 Excel 的话,确认代码无误的情况下,需要把浏览器的禁止弹窗设为允许。
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉