JasperReports 类库简单介绍

来源:互联网 发布:md5java解密算法 编辑:程序博客网 时间:2024/06/06 02:00

   JasperReports是一个开源报表中比较出色的一个报表工具,但对于它具体技术层面介绍的文章却不是很多(卖文档也是jasper公司的主要收入来源之一)。我也是刚开始学习使用它,整理了一下学习资料以供大家交流一下。

   

1.    JasperFillManager:填充管理,主要的方法如下:

ü  fillReport:填充报表,多态函数,返回值为JasperReport,参数为报表和报表参数Map,参数Map里包括ParametersDataSource等,如果是从数据库取数据还要有connection参数;

ü  fillReportToFile:填充报表生成文件,多态函数,无返回值,参数为源文件、目标文件和报表参数Map

2.    JasperExportManager:导出管理,主要方法如下:

ü  exportReportToPdfFile:导出PDF文件,多态函数,提供几种方式:从源文件导出到目标文件、从JasperPrint导出到目标文件、从源文件流导出目标文件,如果枚举的话有9种方式,无返回值。

ü  exportReportToHtmlFile:导出HTML文件,同上

ü  exportReportToXmlFile:导出XML文件,同上

3.    JasperPrintManager:打印管理,主要方法如下:

ü  printReportToPdfFile:把报表导出成PDF文件,然后自己打印;

ü  printReport:直接打印报表,多态函数,提供文件名、文件流或JasperReport直接启动打印,返回值true/false

ü  printPages:同printReport,但参数增加了页数选择。

4.    JasperCompileManager:编译管理,把.jrxml文件编译成.jasper文件,主要用到的方法只有一个,compileReportToFile:多态函数,参数.jrxml文件名或者JasperDesignInputStream和输出.jasper文件名

5.    JasperAbstractScriptlet:脚本小程序抽象类,可以在报表中设置Java数据源scriptletClass,主要属性和方法如下:

ü  filedsMap:报表域信息(域名称、域值)

ü  groups:定义报表的组信息

ü  parametersMap:报表参数信息(参数、值)

ü  variablesMap:报表变量信息(变量名称、值)

ü  afterReportInit:报表数据初始化事件

ü  setData:设置报表数据,参数为parametersMapfiledsMapvariablesMapgroups,无返回值

ü  setVariableValue:设置变量的值,参数为variableNamevalue,无返回值

ü  getVariableValue:获取变量值,参数为:variableName,返回值为变量值object

ü  getParameterValue:获取参数值,参数为:parameterName,返回值为参数值object

ü  getFieldValue:获取域值,参数为:fieldName,返回值为域值object

6.    JRDataSourceJasperReports的数据源接口,是所有报表数据源的祖先,它定义二个方法如下:

ü  next:报表数据遍历方法,和下面getFieldValue配合使用获取每一行每一列的值;

ü  getFieldValue:获取域的值。

7.    JRRewindableDataSource:定义一个可以往回查看记录的方式的接口,主要方法是moveFirst移动到第一行,是JavaBeanTableModel等数据源的祖先。

8.    JRResultSetDataSource:数据源结果集,实现JRDataSource的类,另外它还增加了二个属性resultSet结果集和columnIndexMap列索引Map;主要的方法有getColumnIndex:获取列索引,参数名称filedName,返回索引值

9.    JRAbstractExporter:导出的抽象类,这里将引出导出的其它格式支持包括常用的ExcelCSV等,详细实现请看:net.sf.jasperreports.engine.export命名空间。

10.  JasperReport:定义Jasper Report对象,主要方法有getCompileData获取编译信息。

11.  JasperPrint:定义Jasper Print对象,主要方法有getPages获取打印页数。

12.  JasperManager:通用管理器,主要方法如下:

ü  printReport:打印报表,多态方法,同JasperPrintManager

ü  fillReport:填充报表,多态方法,同JasperFillManager

ü  loadReport:装载报表,多态方法,参数为报表名称或InputStream,返回值为JasperReportloadPrint同此方法

ü  runReportToPdf:运行报表,多态方法,参数为jasperReportparametersjrDataSource,返回报表字节流byte[]

13.  JRHibernateAbstractDataSourceHibernate抽象数据源类,定义系统支持Hibernate数据源格式。

14.  JRCsvDataSourceCSV数据源

15.  JRAbstractTextDataSource:抽象文本数据源

16.  JRXmlDataSourceXml数据源。继承自JRAbstractTextDataSource

17.  JRAbstractBeanDataSourceJavaBean抽象数据源

18.  JRBeanCollectionDataSourceBean集合数据源,继承自JRAbstractBeanDataSource

19.  JRBeanArrayDataSourceBean数组数据源,继承自JRAbstractBeanDataSource

20.JRTableModelDataSource:表模型数据源,需要定义表的列和报表的field对应关系。

    JasperReports的主体类库是命名空间net.js.jasperreports.engine下的类,它包含的内容比较广泛,这里只是介绍主要的几个类或接口,然后附带的说一下JasperReports支持的数据源及其关系。

JasperReports类图

原创粉丝点击