标签:__ name form excel 导出 params var 帆软 attr
由于项目及业务需要,有时候一个页面会有n张报表,那么这个时候就需要一键导出功能(方便省事)
首先项目肯定要集成帆软报表工具,帆软的各种jar包以及静态资源(js,css)等也会集成到项目里。
直接上代码,(主要有两个方法)
function printReport(name, sex, age ){ var params=""; if(""!=name){ params+=",NAME:"+name; } if(""!=sex){ params+=",SEX:"+sex; } if(""!=age){ params+=",AGE:"+age; } var items="{reportlet:zxt/test/test1.cpt"+params+"}" +",{reportlet:zxt/test/test2.cpt"+params+"}"; doExport(items); } function doExport(items){ var form =$("<form>"); form.attr('style','display:none'); form.attr('target', ''); form.attr('method', 'post'); form.attr('action',"${bmw}/ReportServer"); var input1 = $('<input>'); input1.attr('type', 'hidden'); input1.attr('name', 'reportlets'); input1.attr('value',FR.cjkEncode("("+items+")")); var input2 = $('<input>'); input2.attr('type', 'hidden'); input2.attr('name', 'extype'); input2.attr('value', 'simple'); var input3 = $('<input>'); input3.attr('type', 'hidden'); input3.attr('name', 'format'); input3.attr('value', 'excel'); var input4 = $('<input>'); input4.attr('type', 'hidden'); input4.attr('name','__filename__'); input4.attr('value', '报表批量导出'); $('body').append(form); form.append(input1); form.append(input2); form.append(input3); form.append(input4); form.submit(); }
${bmw} 指的是项目的访问路径,另外FR.cjkEncode()用的是帆软报表自带的方法,需要导入帆软提供的两个js文件
${bmw}/ReportServer?op=emb&resource=finereport.js&inter=zh_CN&__fr_locale__=&__v__=2017.01.20.14.49.47.271
${bmw}/ReportServer?op=emb&resource=finereport.chart.js&__v__=2017.01.20.14.49.47.271
然后调用printReport()方法就可以实现将多张报表导出到一个Excel文件里的多个sheet。
标签:__,name,form,excel,导出,params,var,帆软,attr 来源: https://www.cnblogs.com/lovefaner/p/11890515.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。