为了让数据显示的更加形象生动,报表在项目中差点儿是很常见的,可是大致能够分为两类:

一,图形:以图形的形式显示数据,比如柱状图,折线图,饼形图等等,这里有许多关于这方面的工具,比如JFreeCharts(利用Java语言实现的,相对来说不是太美观),FunsionChartsFree(利用xml+flash+Js实现。相对来说不错),能够參考我曾经的文章:图形生成工具(funsionChartsFree and ifreeChart) ;其次还有HighCharts(http://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等,支持全部WEBserver。曾经在C/S的VB开发中使用过(报表从陌生到使用 ),这次在Java web中使用了,主要是通过參考用户手冊,和官方的demo进行设计的。

用报表设计器设计报表这里不再赘述。无在乎页眉页脚。报表头报表尾,明细网格还有各种部件的使用而已。

下边简单看一个报表样例。

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

	<script type="text/javascript">
// var Installed = Install_Detect();
CreateDisplayViewerEx("100%", "80%",
"${contextPath}/assets/gridReport/grf/selfGetNumber.grf", "",
true, ""); </script

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

2。利用AJAX进行数据的訪问:

	<script type="text/javascript">
function getGridData() { AjaxReportViewerStart(ReportViewer,
"${contextPath}/log/logregistration/gridData?startTime='2014-10-12'&endTime='2014-10-09'"); } </script>

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

<report>
<xml>
<row><CustomerID>BLONP</CustomerID><CompanyName>国皓</CompanyName><ContactName>黄雅玲</ContactName></row>
<row><CustomerID>CACTU</CustomerID><CompanyName>威航货运有限公司</CompanyName><ContactName>刘先生</ContactName></row>
<row><CustomerID>CENTC</CustomerID><CompanyName>三捷实业</CompanyName><ContactName>王先生</ContactName></row>
<row><CustomerID>HUNGC</CustomerID><CompanyName>五金机械</CompanyName><ContactName>苏先生</ContactName></row>
<row><CustomerID>MEREP</CustomerID><CompanyName>华科</CompanyName><ContactName>吴小姐</ContactName></row>
</xml>
<_grparam>
<Parameter1>Value1</Parameter1>
<Parameter2>Value2</Parameter2>
<StaticBox1>Text1</StaticBox1>
<MemoBox1>Text2</MemoBox1>
</_grparam>
</report>

当中row为明细表格中字段。_grparam为參数。

这里须要注意的是字段名字的相应。仅仅要我们在后台用PrintWriter进行write我们拼接好的xml字符串就可以。

当然我这里仅仅是一个简单的样例。事实上报表开发都几乎相同。须要我们多看看文档。看看官方的样例就好多了。

Java开发报表——Grid++Report 报表设计器的更多相关文章

  1. 机房收费系统中的Grid++Report报表设计器的应用

    在进行账单查询功能的时候我应用了Grid++Report报表设计器,下面我就为大家介绍一下,还望大家多多指点. 首先,在Grid++Report报表设计器中进行报表界面的设置.在属性编辑窗口中这里对报 ...

  2. Grid++Report 报表开发工具

      Grid++Report 报表开发工具   版本 更新日期 大小 下载 说明 Grid++Repoert6.0.0.6 2015/08/08 16.0M [下载] 锐浪报表工具最新版本,新增功能说 ...

  3. Grid++Report报表工具C/S实战篇(五)

    一.课程介绍 本次分享课程属于<C#高级编程实战技能开发宝典课程系列>中的第五部分,阿笨后续会计划将实际项目中的一些比较实用的关于C#高级编程的技巧分享出来给大家进行学习,不断的收集.整理 ...

  4. 二十六、【开源框架】EFW框架Winform前端开发之Grid++Report报表、条形码、Excel导出、图表控件

    回<[开源]EFW框架系列文章索引>        EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan ...

  5. UniGui中使用Grid++Report报表控件子报表获取数据的方法

    Grid++Report是为优秀的报表控件,子报表是其重要功能之一,但Grid++Report提供的网页报表示范主要是以页面为主的,UniGui在Delphi中以快速编写web管理软件著称,但由于资料 ...

  6. 锐浪报表 Grid++Report 一维码无法固定条形码打印宽度

    使用过 锐浪报表的 程序员 都知道,功能很强大,确实带来了很多便利,但今天发现一个问题,关于一维码的条形码无法固定宽度: 打印相差了0.07毫米,居然差别这么大, 打印出来的条码,要么太宽,要么太窄 ...

  7. 报表和仪表板在线设计器Stimulsoft Designer 最新版发布

    Stimulsoft Designer是统一的Stimulsoft框架的一部分,该框架包括用于生成报表和分析数据的引擎.报表设计器和查看器. 您可以在计算机上创建报表,继续使用在线设计器在云中对其进行 ...

  8. 解析大型.NET ERP系统核心组件 查询设计器 报表设计器 窗体设计器 工作流设计器 任务计划设计器

    企业管理软件包含一些公共的组件,这些基础的组件在每个新项目立项阶段就必须考虑.核心的稳定不变功能,方便系统开发与维护,也为系统二次开发提供了诸多便利.比如通用权限管理系统,通用附件管理,通用查询等组件 ...

  9. Grid++Report支持CS/BS模式的表报插件

    Grid++Report 可用于开发桌面C/S报表与WEB报表(B/S报表),C/S报表开发适用于VB.NET.C#.VB.VC.Delphi等.WEB报表开发适用于ASP.ASP.NET.JSP/J ...

随机推荐

  1. 63.当当网txt数据按行切割与合并

    获取文件有多少行 //获取文件有多少行 int getN(char *path) { FILE *pf = fopen(path, "r"); if (pf==NULL) { ; ...

  2. 数据库中解析XML

    简介:OPENXML方法使用一例实现导入功能 DECLARE @strProjGUID AS VARCHAR(50)  DECLARE @strProjCode AS VARCHAR(50)  DEC ...

  3. IIS6下AD域设置

    简介:IIS6下AD域设置 IIS6下AD域设置 http://files.cnblogs.com/files/KingUp/AD%E5%9F%9F%E8%AE%BE%E7%BD%AE.rar

  4. 2.5 Legacy APIs官网剖析(博主推荐)

    不多说,直接上干货! 一切来源于官网 http://kafka.apache.org/documentation/ 2.5 Legacy APIs A more limited legacy prod ...

  5. qtcreator配置

    如果是做嵌入式开发,那么宿主机使用的交叉编译的QT版本是必须和目标板上使用的qt版本一致的. 而且在路径上,如果qt使用的库如果不是放在目标板默认的连接库路径的话, 那么目标板qt程序就会到配置编译Q ...

  6. slice深拷贝数组

    var a = [1, 2, 3, 4] var b = a.slice(0) b[0] = 2 // a = [1, 2, 3, 4] // b = [2, 2, 3, 4]

  7. 设计模式六大原则(六): 开闭原则(Open Closed Principle)

    定义: 一个软件实体如类.模块和函数应该对扩展开放,对修改关闭. 问题由来: 在软件的生命周期内,因为变化.升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不 ...

  8. JAVA开发类似冒险岛的游戏Part1

    JAVA开发类似冒险岛的游戏Part1 一.总结 二.JAVA开发类似冒险岛的游戏Part1 初学嘛) ,不过总的来说这个程序还是很有意思的.这里我重新再整理了一下,希望能帮助到其他想要开发类似程序的 ...

  9. !!在JS中代表什么

    !!一般用来将后面的表达式转换为布尔型的数据(boolean), javascript约定和c类似,规则为 ·false.undefinded.null.0."" 为 false, ...

  10. TOMCAT8009端口与AJP13协议

    Tomcat最主要的功能是提供Servlet/JSP容器,尽管它也可以作为独立的Java Web服务器,它在对静态资源(如HTML文件或图像文件)的处理速度,以及提供的Web服务器管理功能方面都不如其 ...