微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

关于Jaspersoft iReport4.7.0报表制作的一些问题

1 传参数、变量、字段就不用说了,很简单网上面一大堆!

2 在做好报表预览时是数据为空会显示null解决:

Blank When Null 打上√

3.当数据源为空时,图表依然会显示出来,这样就不对称;应该是没有数据时图表也不应该显示,当有数据时相反显示

解决办法:选中图表,选择属性如下:

 

这里要求是Boolean类型,意思是当为true显示图表,当为false不显示图表,点击开始编辑:我选择任意一字段不等于空时显示图表,反之:

基本每个对象都是此属性

4主要说下柱形图和饼形图

 柱形图:在右边组件面板拖一chart选择柱形图同时选择数据集(Dataset),

Dataset也可以选择其他数据集

直接点完成!后右键chartData-à在选择Datails选项卡:

点击Add

Series expression显示数据的描述!如下图中最底下的应收、实收等;Category expressionX轴的分类:20128

Value expression 显示的数据,如图柱形的高度;LableExpession这个对于柱形图可忽略,但饼形图必填!显示多收数据就增加多少数据了,点击 预览,

如果有错仔细检查iReport output提示错误窗口看到底是什么错!预览结果如图:

 

 

上述$P{year}$P{month}是传的参数,$V{charges}是变量,如果不懂在网上找很多基础教程!

饼形图: 添加方式和上面一样,略有不同就是Lable Expression需要填写:

 

Key expression底下分类Value expression显示的数据 Lable expression:饼形图每一块的标签!

5.集成这块我用了最为古老的方式就是Servlet集成,Struts2.0也可就不说了

publicvoid doPost(HttpServletRequestrequest,HttpServletResponse response)

           throws servletexception,IOException {

        request.setCharacterEncoding("UTF-8");

     //接收查询参数,将来这个参数就是我们在报表中定义的parDname  

       String year = request.getParameter("year");

       String month = request.getParameter("month");

       //报表文件路径,我们用ireport做的jasper文件路径

       // JasperReport需要jasper文件的真实路径

       String reportPath = request.getSession().getServletContext()

              .getRealPath("/reports/report1.jasper");

       //报表参数,jasper文件可能不只一个参数

// 在程序里,用一个Map对象,向jasper文件传递他需要的参数

Map<String,Object> reportParameters = new HashMap<String,Object>();

       reportParameters.put("year",year);

       reportParameters.put("month",month);

       //报表连数据库所用的数据连接

       //因为报表直接以数据库为数据源,所以在这里需要给jasper文件一个jdbc连接

 

       //清空响应流

       response.reset();

       //设置输出格式

       response.setContentType("application/html");

       //创建JDBC连接

       try {

           Class.forName("com.microsoft.sqlserver.jdbc.sqlServerDriver");

           con = DriverManager.getConnection(

                  "jdbc:sqlserver://127.0.0.1:1433;databaseName=Database",

                  "sa","sa");

//         // JasperReport提供的类,用于生成一个HTML文件

//         con = Test.getConn();

           JasperRunManager.runReportToHtmlFile(reportPath,reportParameters,con);

           JasperRunManager.runReportToHtmlFile(reportPath,reportParameters);

           response.sendRedirect(request.getcontextpath()+"/reports/report1.html");

       } catch (Exception e) {

           //Todo Auto-generated catch block

           e.printstacktrace();

       }finally{

           try {

               GetDateCon.close();

           } catch (Exception e) {

              //Todo Auto-generated catch block

              e.printstacktrace();

           }

       }

      

 

 

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐