提起开源的报表工具,不能不说说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