历史版本10 :文件数据集 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
文本数据集编辑
1.概述
文本数据集,就是指数据源是一系列的文本文件。如:网站的浏览访问量,每个页面的停留时间等等,这种系统生成的log文件一般来说都是文本文件。而我们就是要将这些文件作为数据来源,用FineReport来呈现这些数据,并做相应的数据分析。
假设当前报表环境\WebReport\WEB-INF\reportlets目录下已经存在datasource.txt,其内容如下,下面我们来看下文本数据集的制作步骤:
- Name,Capital,Continent,Area,Population
- Argentina,Buenos Aires,South America,2777815.00,32300003.00
- Bolivia,La Paz,South America,1098575.00,7300000.00
- Brazil,Brasilia,South America,8511196.00,150400000.00
- Canada,Ottawa,North America,9976147.00,26500000.00
- Chile,Santiago,South America,756943.00,13200000.00
- Colombia,Bagota,South America,1138907.00,33000000.00
- Cuba,Havana,North America,114524.00,10600000.00
- Ecuador,Quito,South America,455502.00,10600000.00
- El Salvador,San Salvador,North America,20865.00,5300000.00
- Guyana,Georgetown,South America,214969.00,800000.00
- Jamaica,Kingston,North America,11424.00,2500000.00
- Mexico,Mexico City,North America,1967180.00,88600000.00
- Nicaragua,Managua,North America,139000.00,3900000.00
- Paraguay,Asuncion,South America,406576.00,4660000.00
- Peru,Lima,South America,1285215.00,21600000.00
- United States of America,Washington,North America,9363130.00,249200000.00
- Uruguay,Montevideo,South America,176140.00,3002000.00
- Venezuela,Caracas,South America,912047.00,19700000.00
2. 定义文本数据集
下面我们来为大家介绍下如何定义文本数据集。
点击数据集下面的加号,选择文件数据集,如下图:

然后弹出文件数据集对话框,将文件类型选择:Txt,点击本地文件后面的
按钮,选择已经存在的datasource.txt文件,然后按照下图进行设置:
注:上述txt中数据之间的分隔符是逗号,故在上面面板选项中的分隔符需要选择逗号。
选择文本后,会弹出文本数据集对话框,选择对应的文件目录,文件名称,具体设置如下图:
点击预览可以看到数据如下:

设置完后,可以看到模板数据集中会增加一个名为'File1'的数据集
3. 动态文本数据集
其制作步骤与Excel数据集相同。
4. 远程文本数据集
其实现思路与XML数据集相同。
1. 概述
Excel数据集,就是指数据源是一系列的xls文件。而我们就是要将这些文件作为数据来源,用FineReport来呈现这些数据,并做相应的数据分析。
假设当前报表环境\WebReport\WEB-INF\reportlets目录下已经存在datasource.xls,其内容如下,下面我们来看下文本数据集的制作步骤:

2. 定义Excel数据集
下面我们来为大家介绍下如何定义Excel数据集。
点击数据集下面的加号,选择文件数据集,如下图:

然后弹出文件数据集对话框,将文件类型选择:Excel,点击本地文件后面的
按钮,选择已经存在的datasource.xls文件,然后按照下图进行设置:
点击预览可以看到数据如下:

设置完后,可以看到模板数据集中会增加一个名为'File1'的数据集,如下图:

注:Excel数据集默认不支持Excel2007及以上版本,如果要使用Excel2007及以上版本,需要导入poi2007_fat.jar至%FR_HOME%\WebReport\WEB-INF\lib 下,导入完成之后重启设计器。
3. 动态的Excel数据集
在文件数据集中选择Excel,然后按照下图进行设置:

双击定义好的File1数据集,会弹出参数输入框,输入已经存在的Excel文件名称datasource,其效果和上图的设置后效果相同。
4. 远程Excel数据集
在报表中无法直接调用Excel数据集,需要通过jsp中调用对应的Excel文件,然后通过URL访问的方式调用对应的jsp文件便可将对应的Excel文件作为数据集。
XML数据集
1. 概述
XML数据集,就是指数据源是一系列的xml文件。而我们就是要将这些文件作为数据来源,用FineReport来呈现这些数据,并做相应的数据分析。
假设当前报表环境\WebReport\WEB-INF\reportlets目录下已经存在frtest.xml.,其内容如下,下面我们来看下文本数据集的制作步骤:

2. 定义文件数据集
下面我们来为大家介绍下如何定义文件数据集。
点击数据集下面的加号,选择文件数据集,如下图:

2.1 选择xml文件
然后弹出文件数据集对话框,将文件类型选择:xml,点击本地文件后面的
按钮,选择已经存在的frtest.xml文件,右侧的 面板即会自动刷新获取xml中的所有节点信息,并将节点以树状结构的形式显示出来,如下图:
注:若一节点,有多个同名同级子节点,但各个子节点的叶子节点不同(存储数据的节点标志),取叶子节点的并集,如下图所示:

另:如果xml数据集中有2个根节点,那么FineReport会自动在顶部添加一个没有名字的空根节点。
2.2 节点选择
FineReport的xml文件数据集支持将文件中的所有节点以树状结构显示出来,但是不能像存储过程一样返回多个结果集,将每个节点的数据均显示在一个数据集中,一次只能返回一个子节点中的所有数据,想要显示哪个子节点的信息就选中该子节点即可,最后数据来源于选中节点的子节点、子节点的子节点直至叶子节点。
其返回数据集中的数据遵循以下五个规则:
1、选中节点只有叶子节点,则叶子节点的并集为数据集字段;

2、选中节点只有一个非叶子节点的子节点,则此子节点的叶子节点为数据集字段,如选中PickDetail,效果与选中PrintPickDetailEntity一致;

3、选中节点有多个子节点(非叶子节点),此时按第一个子节点来计算。如选中pactDetail,有多个子节点(PrintPackEntity和Other),此时按照第一个子节点“PrintPackEntity”来计算

4、选中节点既有叶子节点,又有普通子节点(非叶子节点),此情况为一对多,(其中叶子节点为“一”,普通子节点的叶子节点为“多),则数据集字段为所有叶子节点加第一个普通子节点的叶子节点,数据内容:其中“一”跟随“多”来扩展,如选中根节点PickBillPrintEntity,他有三个叶子节点和两个子节点(pickDetail和PacDetail,选第一个),数据如下图,显示其三个叶子节点和第一个子节点中的数据:

5、若同一叶子节点有多个值,用“;”隔开,如下图,author这个字段的值为:James McGovern;Per Bothner;Kurt Cagle;James Linn;Vaidyanathan Nagaraian。

注:必须选中一个节点,不选中节点,点击确定,预览为空。
示例中只有一个子节点Customers,我们这里选中父节点frtest,子节点Customers或者叶子节点的任何一个,其返注回的结果都一样,那么就选中Customers子节点,点击
按钮,如下图:
2.3 效果查看
设置完后,可以看到模板数据集中会增加一个名为'File1'的数据集,如下图:

3. 动态XML数据集
其制作步骤与Excel数据集相同。
4. 远程XML数据集
远程XML数据集有两种:第一种是通过jsp调用,其实现思路与Excel数据集相同;第二种是直接通过URL调用XML,下面我们来介绍第二种的实现。
4.1 直接调用XML文件
直接调用xml文件,可以通过在url中输入:http://ip:端口/应用名称/xml文件来调用。
假设tomcat环境下的WebReport工程目录下存在上面示例中用的frtest.xml,下面可以在URL中输入:http://localhost:8080/WebReport/frtest.xml,如下图所示:

点击
面板的刷新按钮,读取xml文件中而的数据,然后选中需要使用的节点,选择方式与本地xml文件一致。