JasperReports是一个强力的报表产生工具,他有能力描述丰富内容到屏幕上、到打印机或到PDF, HTML, XLS, CSV和XML文件。它完全用Java编写的,并可在各种Java应用(包括J2EE或WEB应用)中用来产生动态内容。它的主要目的是以一种简单而灵活的方式来帮助创建导向的页面。
JasperReports组织根据在一个XML文件中定义的报表设计通过JDBC来接受来自一个关系数据库中的数据. 为了以数据来填充报表,报表设计必须首先被编译。
描述报表设计的XML文件的编译通过执行dori.jasper.engine.JasperManager 类暴露的compileReport()方法。
通过编译,报表设计被装载入一个报表设计对象中,然后系列化并存储在磁盘上(dori.jasper.engine.JasperReport)。当应用程序想以数据来填充特定的报表设计时会使用这个已系列化的对象。事实上,报表设计的编译意指描述报表设计的XML文件中定义的所有Java表达式的编译。为了检查报表设计的一致性,在编译时做各种检验。结果被准备用来填 充报表设计,然后被用来以不同的数据集来产生文档 。
为了填充一个报表设计,可使用由dori.jasper.engine.JasperManager类暴露的 fillReportXXX()方法。这些方法接受作为参数的报表设计对象,或描述特定报表设计对象的文件, 在一个系列化的格式中,和一个从其中接受数据填 充报表的数据库JDBC链接。
结果是一个描述准备用来打印文档的对象(dori.jasper.engine.JasperPrint)并可被以一个系列化格式存储在磁盘上。 为以后使用,或可被分发到打印机,到屏幕或可被转换到一个PDF, HTML, XLS, CSV 或XML文档。