JAVA报表之简表的使用

简表的使用
一.引入
简表(JOR),是一款开源的报表工具,完全java实现,核心代码来自于国内一线报表工具品牌杰表.2008 。 
提起开源的报表工具,不能不说说jaspereport,jasperreport作为著名的开源报表工具,在java程序员中一直享有盛名。但
由于其设计主要是针对西式的简单报表,设计起复杂的中式报表来,有点力不从心,所以,在国内的项目中能成功应用的例
子并不多。JOR,作为能做复杂报表的开源报表工具,可以弥补jasperreport的不足。 

简单来说,以前我们写一个查询结果的页面,需要写controller,service,dao几个层,并且一当结果页面需要改变,那么我们需要改动几个层的代码,于是在查询页面列头经常更换的情况下,使用代码写死的弊端就显得非常繁琐,针对这种情况,报表是最合适的。

简表(JOR) 的特点:
√ 完全开源
√ 支持可视化地设计报表 
√ 支持复杂的交叉表,如多级行上、列上分组;分组不平衡的交叉表等 
√ 支持复杂的跨组运算,如同比、占比、环比、排名 等
√ 支持图片,图片源可以来自数据库、本地文件、网络、classpath、内嵌 
√ 支持脚本,脚本可以扩展 
√ 支持简单列表、主从报表、标签报表、分栏报表、套打报表 
√ 支持jsp tag、ajax、web form 集成 
√ 支持 HTML,PDF,EXCEL导出 
√ 支持所有主流数据库,如 Oracle、DB2、Sql Server 、Mysql等 
√ 支持任何的j2ee应用服务器,如Tomcat、Apusic、 WebSphere、WebLogic等 
√ 支持Windows、Linux、Unix、Mac os等操作系统 
√ JDK1.4 以上版本适用

官网:http://www.jatools.com/jor/


二.简单的使用

通过官网下载到  jor.bin.zip ,解压后 会得到
(1). designer  -  制作工具
(2). tomcat.with.jor - tomcat,在线生成查询结果页面
(3). JOR简表使用手册.chm

报表使用共需要以下几个步骤:

(1). 制作报表的xml模板文件
(2). 将模板导入系统中,生成结果页面


1.制作一个报表的.xml文件

首先,打开  designer/bin/jdbcproviders.xml文件,准备配置一下 所用的数据库
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jatools Class="[Ljatools.designer.JdbcProvider;" ItemClass="jatools.designer.JdbcProvider"
	Len="13" Name="jatools report template">
	<Item0>
		<Name>demo</Name>
		<Driver>org.hsqldb.jdbcDriver</Driver>
		<User>sa</User>
		<Url>jdbc:hsqldb:./demosdb/mydb</Url>
	</Item0>
	<Item1>
		<Name>IBM DB2</Name>
		<Driver>COM.ibm.db2.jdbc.app.DB2Driver</Driver>
		<Url>jdbc:db2://localhost:5000/sample</Url>
	</Item1>
	<Item2>
		<Name>Oracle</Name>
		<Driver>oracle.jdbc.driver.OracleDriver</Driver>
		<Url>jdbc:oracle:thin:@localhost:1521:test</Url>
	</Item2>
	<Item3>
		<Name>Sybase</Name>
		<Driver>com.sybase.jdbc2.jdbc.SybDriver</Driver>
		<Url>jdbc:sybase:Tds:localhost:5007/myDB</Url>
	</Item3>
	<Item4>
		<Name>MS SQL</Name>
		<Driver>com.microsoft.jdbc.sqlserver.SQLServerDriver</Driver>
		<Url>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb</Url>
	</Item4>
	<Item5>
		<Name>JDBC-ODBC Bridge</Name>
		<Driver>sun.jdbc.odbc.JdbcOdbcDriver</Driver>
		<Url>jdbc:odbc:driver={Microsoft Access Driver
			(*.mdb)};DBQ=dbdemos.mdb</Url>
	</Item5>
	<Item6>
		<Name>JndiDatasource(应用服务器连接池)</Name>
		<Driver>com.jatools.db.JndiDriver</Driver>
		<Url>FACTORY=weblogic.jndi.WLInitialContextFactory;URL=t3://localhost:7001;DATASOURCE=examples-dataSource-demoPool
		</Url>
	</Item6>
	<Item7>
		<Name>Informix</Name>
		<Driver>com.informix.jdbc.IfxDriver</Driver>
		<Url>jdbc:informix-sqli://localhost:1533/testDB:INFORMIXSERVER=myserver
		</Url>
	</Item7>
	<Item8>
		<Name>phdb</Name>
		<Driver>oracle.jdbc.driver.OracleDriver</Driver>
		<User>reporter</User>
		<Url>jdbc:oracle:thin:@10.117.8.189:1521:openview</Url>
	</Item8>
	<Item9>
		<Name>ph2</Name>
		<Driver>oracle.jdbc.driver.OracleDriver</Driver>
		<User>reporter</User>
		<Url>jdbc:oracle:thin:@10.199.4.14:1521:openview</Url>
	</Item9>
	<Item10>
		<Name>lh.db</Name>
		<Driver>oracle.jdbc.driver.OracleDriver</Driver>
		<User>reporter</User>
		<Url>jdbc:oracle:thin:@10.70.241.230:1521:openview</Url>
	</Item10>
	<Item11>
		<Name>ph.ds </Name>
		<Driver>com.jatools.db.JndiDriver</Driver>
		<User>reporter</User>
		<Url>DATASOURCE=java:comp/env/jdbc/oracleDS</Url>
	</Item11>
	<Item12>
		<Name>jhcj_prope(默认)</Name>
		<Driver>${property("driverClassName")}</Driver>
		<User>${property("username")}</User>
		<Password>${property("password")}</Password>
		<Url>${property("url")}</Url>
	</Item12>
</jatools>

可以看到已经有13个<Item></Item>了,
于是再加一组
<Item13>
                <Name>Nuohy_Mysql</Name>
<Driver>com.mysql.jdbc.Driver</Driver>
<User>root</User>
<Password>root</Password>
<Url>jdbc:mysql://192.168.1.42/jortest</Url>
</Item13>

并且将
<jatools Class="[Ljatools.designer.JdbcProvider;" ItemClass="jatools.designer.JdbcProvider"
	Len="13" Name="jatools report template">
中的Len="13"  改为14,因为从0开始的,又添加了一组。


然后双击  designer/bin/start.bat  打开报表设计器

点击文件->新建->表格报表,会出现表格报表向导页面如下所示:



点击->  新建数据集 -> JDBC数据集,出现如下图所示:



数据库选择刚刚  添加的一组配置文件中的Nuohy_Mysql,点击测试连接,看看是否正常,确认正常后

开始在   SQL属性上写上查询语句:select * from student;

注:我的数据库中含有一张student表,如下:
CREATE TABLE `student` (
  `sid` INT(10) NOT NULL AUTO_INCREMENT,
  `stuname` VARCHAR(225) DEFAULT NULL,
  `sex` VARCHAR(225) DEFAULT NULL,
  `conn` VARCHAR(225) DEFAULT NULL,
  `qq` VARCHAR(225) DEFAULT NULL,
  PRIMARY KEY (`sid`)
) ENGINE=INNODB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
并且添加了一些数据

确认预览能查到所有数据后填写 名称  我命名为 studentReport,点击确定
选用刚刚的添加的数据集 studentReport 至右侧:




点击下一步,选中显示项中 所有字段,添加至 右侧,并加上显示标签





点击下一步后,进入分组,暂时不用分组,直接下一步,进入统计项,也不用,点击完成。

ctrl+s 保存一下,为studentReport.xml 文件。
文件保存路径为:C:/Users/admin/Desktop/mulhead.xml
可以点击预览看看,生成的效果,


2. 将模板导入系统中,生成结果页面
首先打开服务器:tomcat.with.jor/bin/startup.bat,

启动成功过后,打开链接
http://localhost:8080/jor/reportviewer?file=文件路径
如:http://localhost:8080/jor/reportviewer?file=C:/Users/admin/Desktop/mulhead.xml
视图会显示出来,如下图所示:



至此,报表简单的使用就结束了!








发布了48 篇原创文章 · 获赞 74 · 访问量 22万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章