J2EE 0.7.1—报表功能。传入封装数据的list实现打印标签报表。。

原创 2007年09月20日 10:14:00

代码
//传入list实现打印。推荐使用。方便快捷。   
protected void MingPrint(ActionMapping actionMapping,   
        ActionForm actionForm, HttpServletRequest httpServletRequest,   
        HttpServletResponse httpServletResponse, List list)   
        throws Exception {   
    BasicActionForm form = (BasicActionForm) actionForm;   
    String reportName = (String) form.getReservedProp("reportName");   
  
    if (reportName == null) {   
        throw new java.lang.UnsupportedOperationException(   
                "Reserved property 'reportName' not set yet!");   
    }   
    System.out.println("报表名称:"+reportName);   
    MREngine engine = null;   
    MRDataSet mrds = new MRDataSet();;   
       
    //ResultSet rs = DBTool.getResultSet(sql);   
    //if (rs == null) {   
    //  System.out.println("rs is null");   
    //}   
  
    try {   
        engine = new MREngine(httpServletRequest, httpServletResponse,   
                servlet.getServletContext());   
        engine.setRootPath("/Reports/");   
        // GBK字符集支持   
        engine.setUnicodeOption(1);   
    } catch (Exception e) {   
        System.err.println("根据数据集生成如意报表出错:" + e.getMessage());   
    }   
/System.out.println("传入的list="+list.toString());   
       
    int w = list.size();   
    int k ;   
    for( k=0; k < w; k++){   
        DataRecord  dataRecord = new DataRecord();   
        Map dataRecordMap = (Map)list.get(k);   
/System.out.println("dataRecordMap="+dataRecordMap.toString());   
        Iterator it = dataRecordMap.keySet().iterator();   
  
        while(it.hasNext()){   
               
            String columnName = it.next().toString();   
            //System.out.println(columnName);   
            Object obj = dataRecordMap.get(columnName);   
            dataRecord.setValue(columnName,obj);   
        }   
        mrds.addRow(dataRecord);   
    }   
       
    engine.addMRDataSet(reportName, mrds);   
    // engine.addMRDataSet(reportName, mrds);   
    engine.addReport(reportName);   
    byte[] mingData = engine.bind();   
/       System.out.println(mingData.length);   
    httpServletRequest.getSession().setAttribute("mingData", mingData);   
}  

Action中只需要一句:

java 代码
//一句搞定打印。   
this.MingPrint(mapping, form, request, response, userDao.findForListByName("user"));    

相关文章推荐

J2EE项目系列(四)--SSM框架构建积分系统和基本商品检索系统(Spring+SpringMVC+MyBatis)(3)Ajax使用详解(级联列表)以及企业级报表Excel导入导出实现

今天来讲下企业的开发的一些功能应用吧,就是Ajax使用,以及简单的企业报表的导入导出,基于原有的项目进行展示(其实是本博主想偷懒)。 本博客属于一个项目的系列之一,每个大功能点都配置了一篇博客解析。h...

初探J2EE实现-连锁报表系统-后记

这个学校的实训项目从开始到结束总共用了5天,确切的说是4天,最后一天是项目答辩(好吧,重要的一环)。 第一天 首先要做的是组好项目开发的成员,小组内有个熟习J2EE的大牛,已经可以说成功了一半。项...
  • szlmQQ
  • szlmQQ
  • 2015年01月03日 12:38
  • 602

FineReport帆软报表和J2EE java web 应用的集成

FineReport是一个纯Java软件,因此对于J2EE的项目,可以做到无缝集成。 报表服务器并非物理概念的服务器,而是以一个标准的J2EE应用的形式或者jar包的形式提交给程序。应用程序通过...

润乾报表在J2EE上的部署——tomcat版

部署环境: 服务器:apache-tomcat-7.0.27-windows-x86 数据库:ACESS 第一步:配置应用服务器的数据库连接池   这里我们选用的应用服务器为tomcat,to...

j2ee报表开发

  • 2014年09月11日 10:14
  • 6.73MB
  • 下载

FastReport.NET报表控件功能详解—数据处理

FastReport.NET的数据处理是从ADO.NET 数据源开始的。点击鼠标便可以完成对数据行进行排序和筛选,使用主从关系和查询数据列。 支持直接连接到ADO,MS SQL和基于XML的数据库。...

FineReport报表和J2EE应用的集成

  • 2015年04月17日 18:44
  • 449KB
  • 下载

统计报表中嵌入<a>标签,点击实现弹出清单功能

前两天帮着做了下统计报表的清单功能,功能很简单,统计报表的数据都是后台通过对多表联查等产生的,页面上就是一个Table,长的还蛮像回事的。      由于报表这块的前期设计并不全面,没有考虑到后期清单...
  • lfsfxy9
  • lfsfxy9
  • 2013年03月11日 22:57
  • 2071
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:J2EE 0.7.1—报表功能。传入封装数据的list实现打印标签报表。。
举报原因:
原因补充:

(最多只允许输入30个字)