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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章