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

一,图形:以图形的形式显示数据,比如柱状图,折线图,饼形图等等,这里有许多关于这方面的工具,比如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. Funui-overlay 如何添加theme 的 overlay

    昨天更改theme主题的时候,发现所有仓库下的theme都是共用的.也就是说,如果你更改了52平台下的theme,那么你提交了代码以后,82下也会发生相应的更改.但是,昨天修改的theme属性,只在3 ...

  2. 【arc062e】Building Cubes with AtCoDeer

    Description STL有n块瓷砖,编号从1到n,并且将这个编号写在瓷砖的正中央: 瓷砖的四个角上分别有四种颜色(可能相等可能不相等),并且用Ci,0,Ci,1,Ci,2,Ci,3分别表示左上. ...

  3. C# 性能优化

    StringBuilder sb = new StringBuilder( 256 ). 避免不必要的调用 ToUpper 或 ToLower 方法,可以用Compare忽略大小写比较. 尽量在循环中 ...

  4. 【SSH学习笔记】—从配置Struts1环境到简单实例

    以下我将从一个简单点的计算器实例,介绍struts1的环境配置,以及其重要的两个核心类:ActionForm和Action  简单计算器实现思路: 1.提供一个输入界面,输入两个数字和运算符(+.-. ...

  5. socket UDP简单通讯

    // // SocketUDPServerClient.m // socket_server_client // // Created by lujunjie on 2016/11/26. // Co ...

  6. opencv cvPreCornerDetect

    关于OpenCv中cvPreCornerDetect 运行出错解决方法 http://m.blog.csdn.net/blog/wode0239 由于书本上示例的不全,相信大家在做的时候,肯定是无从下 ...

  7. Java 学习(17): Java 泛型

    Java 泛型 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型. 泛型的本质是参数化类型,也就是说将 ...

  8. 洛谷—— P1062 数列

    https://www.luogu.org/problem/show?pid=1062#sub 题目描述 给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增 ...

  9. synchronized和AtomicInteger解决并发问题的性能比较

    AtomicInteger,一个提供原子操作的Integer的类.在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字.而volatile ...

  10. oled的一套stm32实验2(自己的实验)

    stm32与OLED屏接口的引脚介绍: CS————GPIOD3: RST————GPIOD4: DC—————GPIOD5: D0——————GPIOD6: D1——————GPIOD7; 上是我参 ...