jasperreport初级中文学习教程之报表数据源

时间:2026-01-22

jasperreport初级中文学习教程之报表数据源

net.sf.jasperreports.engine.data.JRMapCollectionDataSource TableModel XML CSV XLS Empty JDBC数据源 JRResultSetDataSource类关联入一个 java.sql.ResultSet对象。这是当报表数据从关系数据库中提取最常用的数据源实现。如果 ajava.sql.Connection传递给引擎来代替,它首先执行相关的查询,并将该返回 java.sql.ResultSet中的对象在一个 JRResultSetDataSource实例。 JAVABEAN数据来源 JRBeanArrayDataSource类和 JRBeanCollectionDataSource表示实现,可以分别包装的 JavaBean对象的数组或集合。数组或集合中的每个对象都将被视为对这种类型的数据源中的一个记录。一个特定的 JavaBean属性和相应的报表字段之间的映射是通过命名约定进行。报表字段的名称必须是相同的所指定的 JavaBeans的规范 JavaBean属性的名称。在本教程中的所有例子中,我们使用 JRBeanCollectionDataSource。基于 MAP的数据来源如果父级应用程序已经存储在内存中的 java.util.Map对象提供的申报数据的实现类 JRMapArrayDataSource和 JRMapCollectionDataSource非常有用。被 net.sf.jasperreports.engine.data.JRTableModelDataSource net.sf.jasperreports.engine.data.JRXmlDataSource net.sf.jasperreports.engine.data.JRCsvDataSource net.sf.jasperreports.engine.data.JRXlsDataSource net.sf.jasperreports.engine.JREmptyDataSource

包装的数组或集合中的每个映射对象被认为是数据源中的一个虚拟的记录,每个报表字段的值从映射中使用报表字段名作为键提取。

TableModel的数据来源

在许多客户端应用程序,数据以表格形式显示。在许多应用中常见的需求是允许用户打印该表格形式的报告。实现类JRTableModelDataSource使生成的表格格式的Swing应用程序报告的任务。这个类封装了一个

javax.swing.table.TableModel对象。列在包装的TableModel对象可以通过他们的名字或他们的基于0索引来访问。

XML数据源

类JRXmlDataSource是基于DOM,它使用XPath表达式来选择XML文档数据的数据源的实现。XML数据源中的记录是通过XPath表达式选择的节点元素表示。字段值是由每个记录使用由字段描述(JRXML<fieldDescription>元素)所提供的XPath表达式检索。

XPath是用于导航XML文档的属性和元素的语言。

CSV数据来源

JRCsvDataSource代表了从结构化文本文件中检索其数据的数据源的实现,通常为CSV。字段值是正在使用他们的列索引检索。

xls数据来源

JRXlsDataSource代表其检索的Excel文件的数据的数据源的实现。报表字段映射为这个数据源的实现也是基于字段列索引。

空数据来源

类JREmptyDataSource,模拟与内部虚拟空的记录给定数量的数据源。它是由用户界面的工具来提供基本的报表预览功能,或在特殊报告模板,或用于测试和调试目的。

重绕数据源

net.sf.jasperreports.engine.JRRewindableDataSource扩展的基本

JRDataSourceinterface。它增加了只有一个方法为MoveFirst()到接口。这种方法的目的是将光标移动到数据源中的第一个元素。

与放置在带内子报表不允许拆分由于isSplitAllowed=“false”的设定,并且没有足够的空间,在当前页上对要呈现的子报表工作时,重绕的数据源是有用的。以上所有数据源的实现是可回退除JRResultSetDataSource,因为它不支持移动记录指针回来。这对只有当该数据源是用它传递给子报表之前手动换一个java.sql.ResultSet中的一个问题。这是没有问题,如果SQL查询驻留在子报表模板,该引擎将在下一个页面上重新启动子报表时,再次执行它。

数据源提供者

JasperReports库有一个接口

net.sf.jasperreports.engine.JRDataSourceProvider。这有助于创建和处理数据源对象。当创建使用GUI工具报表模板,则需要自定义报表的数据源的特殊工具。JRDataSourceProvider是为了堵塞自定义数据源到设计工具的标准方法。自定义实现该接口应实现以下方法,使创建和配置数据源对象和方法,上面列出数据源如果可能的话,里面可用的报表字段:

publicbooleansupportsGetFieldsOperation();

同为比较常用的报表工具,FineReport在报表实现过程中所需的代码量远少于jasperreport,大部分的报表代码细节被隐藏,呈现出的是是可视化的设计过程,具体到数据源部分,如下:

FineReport提供了异构数据源模型,使得同一张报表中可以呈现来自多个不同类型的数据源,这个多种不同类型的数据源可以是同一数据库的多个不同表,或多个不同数据库,或者多种不同类型的数据源。可支持的数据源类型包括: 数据库数据源:包括Oracle,SqlServer,MySql,DB2,Sybase,Informix等主

流的关系型数据库;支持SQL取数据表或视图,亦支持存储过程。

文本数据源:包括Excel文件,Txt文件等存储在文件中的数据。程序数据源:支持程序数据源。标准数据源:支持WebService,SOA标准数据等标准数据源。BI多维数据库:Essbase、ssas、sap、hadoop以及FineBI的cube。

以数据库数据源为例,展示FineReport数据源的引用步骤:

制作报表前首先需要定义数据来源,实际用户系统最长见的就是数据保存在数据库中,并且在不断更新中,使用数据库数据来制作报表,并且报表内容会随着数据库的更新而更新。

FR天然支持这一点,只需要在服务器>定义数据连接中定义需要连接的数据库,就可以自定义查询语句查询出需要的数据,从而制作报表,如下图 …… 此处隐藏:1017字,全部文档内容请下载后查看。喜欢就下载吧 ……

jasperreport初级中文学习教程之报表数据源.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:4.9 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:19元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219