zoukankan      html  css  js  c++  java
  • 帆软报表批量导出到excel

    由于项目及业务需要,有时候一个页面会有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。

     
  • 相关阅读:
    day10 Java学习(开发工具.Eclipse)
    day9 Java学习(面向对象Package关键字)
    day8 Java学习(面向对象.多态&接口)
    day7 Java学习(面向对象.继承)
    day5 Java学习(面向对象)
    day4 Java学习(数组)
    day3 Java学习(循环结构)
    day2 Java学习(位运算符)
    2019-05-26 java学习日记
    2019-05-25 java学习日记
  • 原文地址:https://www.cnblogs.com/lovefaner/p/11890515.html
Copyright © 2011-2022 走看看