Java开发报表——Grid++Report 报表设计器

来源:互联网 发布:php面试基础知识 编辑:程序博客网 时间:2024/05/16 10:55

为了让数据显示的更加形象生动,报表在项目中几乎是非常常见的,但是大致可以分为两类:


         ,图形:以图形的形式显示数据,例如柱状图,折线图,饼形图等等,这里有很多关于这方面的工具,例如JFreeCharts(利用Java语言实现的,相对来说不是太美观),FunsionChartsFree(利用xml+flash+Js实现,相对来说不错),可以参考我以前的文章:图形生成工具(funsionChartsFree and ifreeChart) ;其次还有HighChartshttp://www.hcharts.cn/demo/index.PHP)和Echarts(官网:http://echarts.baidu.com/doc/example.html),两者都是通过JS来实现的,是比较推荐使用的。官网的资料非常丰富的

   

       二,就是表格,一种是可以将数据导出为Excel表格,我们可以通过POI(功能更加强大丰富,但是复杂)JXL(简单易用,但是复杂的功能有些实现不了);二,一些统计表格,用于统计重要信息进行打印的。Java中一般常用的JasperReport+iReport,这个网上资料比较多,我们项目使用了Grid++Report,这个报表设计器,支持C/S开发:VB.NET、C#、VB、VC、Delphi等,B/S开发:ASP.Net、ASP、PHP、JSP等,支持所有WEB服务器,以前在C/SVB开发中使用过(报表从陌生到使用 ),这次在Java web中使用了,主要是通过参考用户手册,和官方的demo进行设计的。

    

         用报表设计器设计报表这里不再赘述,无在乎页眉页脚,报表头报表尾,明细网格还有各种部件的使用而已。下边简单看一个报表例子;


         1,首先需要将设计好的grf的报表放到项目的某个路径下,在jsp页面中进行引用:

[javascript] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. <script type="text/javascript">  
  2.     // var Installed = Install_Detect();  
  3.         CreateDisplayViewerEx("100%""80%",  
  4.                 "${contextPath}/assets/gridReport/grf/selfGetNumber.grf""",  
  5.                 true"");        
  6.   
  7. lt;/script  

        这段代码需要body里边,grid++report的默认容器是在body中。


        2,利用AJAX进行数据的访问:

[javascript] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. <script type="text/javascript">  
  2.     function getGridData() {  
  3.   
  4.         AjaxReportViewerStart(ReportViewer,  
  5.                 "${contextPath}/log/logregistration/gridData?startTime='2014-10-12'&endTime='2014-10-09'");  
  6.   
  7.     }  
  8.   
  9. lt;/script>  

            3AJAX数据的传输格式规定:

[html] view plain copy
 print?在CODE上查看代码片派生到我的代码片
  1. <report>  
  2. <xml>  
  3. <row><CustomerID>BLONP</CustomerID><CompanyName>国皓</CompanyName><ContactName>黄雅玲</ContactName></row>  
  4. <row><CustomerID>CACTU</CustomerID><CompanyName>威航货运有限公司</CompanyName><ContactName>刘先生</ContactName></row>  
  5. <row><CustomerID>CENTC</CustomerID><CompanyName>三捷实业</CompanyName><ContactName>王先生</ContactName></row>  
  6. <row><CustomerID>HUNGC</CustomerID><CompanyName>五金机械</CompanyName><ContactName>苏先生</ContactName></row>  
  7. <row><CustomerID>MEREP</CustomerID><CompanyName>华科</CompanyName><ContactName>吴小姐</ContactName></row>  
  8. </xml>  
  9. <_grparam>  
  10. <Parameter1>Value1</Parameter1>  
  11. <Parameter2>Value2</Parameter2>  
  12. <StaticBox1>Text1</StaticBox1>  
  13. <MemoBox1>Text2</MemoBox1>  
  14. </_grparam>  
  15. </report>  

      其中row为明细表格中字段,_grparam为参数。这里需要注意的是字段名字的对应。只要我们在后台用PrintWriter进行write我们拼接好的xml字符串即可。

 

        当然我这里只是一个简单的例子,其实报表开发都差不多,需要我们多看看文档,看看官方的例子就好多了。


0 0
原创粉丝点击