提起開源的報表工具,不能不說說jaspereport,jasperreport作爲著名的開源報表工具,在java程序員中一直享有盛名。但
由於其設計主要是針對西式的簡單報表,設計起復雜的中式報表來,有點力不從心,所以,在國內的項目中能成功應用的例
子並不多。JOR,作爲能做複雜報表的開源報表工具,可以彌補jasperreport的不足。
簡表(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 以上版本適用
<?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>
<Driver>com.mysql.jdbc.Driver</Driver>
<User>root</User>
<Password>root</Password>
<Url>jdbc:mysql://192.168.1.42/jortest</Url>
<jatools Class="[Ljatools.designer.JdbcProvider;" ItemClass="jatools.designer.JdbcProvider"
Len="13" Name="jatools report template">
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