反饋已提交
網絡繁忙
当需要根据不同用户不同地区导出多个报表时,不希望分别导出相应格式进行备份,比较麻烦,因此希望可以把多个报表同时导出成某种格式。下面详细介绍使用步骤:
利用「window.open」来打开带导出参数 URL 的方式来实现 Excel 导出。相关参数如下所示:
完整示例:导出地区参数为华北的 Parameter.cpt 和无参数 Cross.cpt 到 Excel 中,其中 sheet1 显示 Parameter 里的内容,sheet2 显示 Cross 里的内容;并且 Excel 重命名为 export,如下所示:
http://localhost:8075/webroot/decision/view/report?reportlets=[{reportlet:"/doc/Primary/Parameter/Parameter.cpt",地区:"华北"},{reportlet:"/doc/Primary/CrossReport/Cross.cpt"}]&format=excel&__filename__=export
注:URL 不能直接访问,浏览器可能不支持[] / {} 特殊符号,因此需要进行 编码转换 后才能直接访问使用。上述示例编码后为:
http://localhost:8075/webroot/decision/view/report?reportlets=%5B%7Breportlet%3A%22%2Fdoc%2FPrimary%2FParameter%2FParameter.cpt%22%2C%E5%9C%B0%E5%8C%BA%3A%22%E5%8D%8E%E5%8C%97%22%7D%2C%7Breportlet%3A%22%2Fdoc%2FPrimary%2FCrossReport%2FCross.cpt%22%7D%5D&format=excel&__filename__=export
增加一段 JS 代码,实现点击按钮后导出地区参数为「华北」的 Parameter.cpt 和无参数 Cross.cpt 到 Excel 中,代码如下:
var reportlets = "[{reportlet: '/doc/Primary/Parameter/Parameter.cpt',地区: '华北'}, {reportlet: '/doc/Primary/CrossReport/Cross.cpt'}]"function clickEvent() { window.open(encodeURI('/webroot/decision/view/report?reportlets=' + reportlets + '&format=excel'));}
注:自定义批量导出时,如果在导出的同时还在下载多个文件,推荐将浏览器的安全级别降低,避免被浏览器将导出文件判定为不安全文件。
完整代码如下:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>FineReport自定义导出</title></head><script type="text/javascript"> var reportlets = "[{reportlet: '/doc/Primary/Parameter/Parameter.cpt',地区: '华北'}, {reportlet: '/doc/Primary/CrossReport/Cross.cpt'}]" function clickEvent() { window.open(encodeURI('/webroot/decision/view/report?reportlets=' + reportlets + '&format=excel')); }</script><body><button type="button" onclick= clickEvent()>导出[Excel]</button></body></html>
已完成示例请参照%FR_HOME%/webapps/webroot/help/page_demo/export.html
启动设计器,输入http://localhost:8075/webroot/help/page_demo/export.html,点击「导出 Excel」,即可导出 Excel,效果如下图所示:
完整代码可参考:%FR_HOME%\webapps\webroot\help\page_demo\export.html
示例 HTML文件如下:
export.html
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉