c#水晶报表教程:对比FineReport之报表设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
并 且 连 接 数 据 源 的 方 式 也 多 种 多 样 , 支 持 JDBC , JNDI 数 据 源 , 如 Oracle,DB2,SQLServer,MySQL 等主流的数据库,自定义的程序数据源,文本数 据源,Hibernate 数据源,Remedy 等等,同时数据源具有无限的扩展性,可以支 持 WebService,SOA 等标准的数据。
水晶报表(Crystal Report)只能简单地支持某些固定的跨行运算,如累积 值、比上期等,更复杂的跨行组计算只能事先编程准备数据。
报表展现和输出
类 Excel 的界面风格
FineReport 报表工具的界面风格,是完全类似于 Excel 的,格线对齐的编辑 方式,极大的便利了报表的设计和输出,并且单元格内属性比较自由灵活,可以 得到格式任意复杂的报表。
套打
FineReport 报表采用底图描绘,绝对定位的方式完成套打表样的绘制,用户 可将要套打的票据扫描进来作为背景图,用报表设计器进行数据的位置摆放,可 以精确定位数据的位置。
水晶报表(Crystal Report)只能采用精确度量的方案,量好套打票据的尺 寸来设置表格控件的大小,操作繁琐,效率很低。
水晶报表(Crystal Report)的单表模型不能支持分片。对于分片的报表, 一种处理方法是事先编程准备数据,另一种则是靠子报表拼接来完成。处理相当 繁琐,并且这两种处理方法也并非每次都能够达到要求,设计出需要的报表格式。
跨行组运算
报表中常常需要有跨行组的运算,如比上期、比去年同期等。FineReport 报表的单元格层次坐标概念可以精确地引用任何一个扩展之后的单元格,然后通 用地写出表达式进行这些跨行组运算。
水晶报表(Crystal Report)在理论上只支持单数据集,对多集的支持依赖 于数据库的运算能力(叉乘与联合等或写存储过程),多库一般难以支持。另外 一种处理方式,就是将多数据源先变相整理成单一数据源,然后再进行其它操作, 并不是真正意义上的多数据源。
分组的调整,不完全分组
分组是报表数据当中,最常见的方式。FineReport 报表工具的分组,是建立 在单元格的基础之上,因此删除分组,更改分组字段等操作,就只需要对单元格 进行操作,与报表内其它的数据无关。另外,在很多情况下,数据并非枚举式的 完全分组,而是一些固定行列,或者按段分组等形式,FineReport 报表提供了 用户自定义分组,只需要添加一些条件,即可达到不规则分组的目的。
水晶报表(Crystal Report)均采用控件拖拽式绘制报表,这种方案完全没 有体现表格的规律性,当表头复杂的时候,对齐非常繁琐。而且与分辨率相关, 屏幕上对齐的表格,在网页上和打印时又无法对齐。
输入输出
FineReport 报表支持单个或者批量导入 Excel 文件,这样可以由业务人员, 事先画好表样,提高制作报表的效率,并且,批量导入,更加的减轻重复的工作。 生成的报表文件可输出为 HTML、不失真的 PDF、Excel、Word、CSV、SVG 和文本 文件等多种样式。另外,还可生成内置的模板文件。
相对于水晶报表(Crystal Report),FineReport 报表无论是在报表设计, 数据展现,还是表单,应用集成等方面,都具有明显的优势。 报表设计
在报表设计方面,FineReport 报表工具的优势主要体现在以下几个方面:
多数据源
FineReport 报表设计天然支持多数据源(集),同一张报表的数据可同时来 自多个数据表,多个不同的数据库,或者多个不同的用户自定义数据视图,然后 在报表中可直接相互运算形成最终的报表。
水晶报表(Crystal Report)无法支持导入 Excel 文件,最多只能从 Excel 读取数据。其生成的 HTML 一般只能支持 IE;导出 EXCEL 时经常只有数据而丧失 格式,个别工具完成得比较仔细,但也严重依赖于表格绘制时对齐的程度,生成 的文本也只包括数据而丧失格式,无法支持字符终端的报表打印需求。
c#水晶报表教程:对比 FineReport 之报表设计
水晶报表(crystal report) 和 FineReport 都是很常用的报表工具,这里 对比一下它们的报表设计功能。
FineReport 报表软件针对复杂格式的报表数据及 Web 报表的展现,通过多源 分片、不规则分组、双向扩展来轻松拖拽做复杂格式的报表,制作报表从此摆脱 了复杂的 SQL 和表达式,不需要编程,大大提高了报表制作的效率。
FineReport 报表工具的数据扩展,是双向的,也就是行列对称,横纵方向能 力一致,可以方便地制作交叉报表(多层),可同行式表一样制作复杂表头。
水晶报表(Crystal Report)制作交叉报表的方式,是采用专门的交叉表模 型,其表头是按照向导自动生成的,缺乏灵活性。
报表分片Leabharlann Baidu
复杂报表当中,报表分为多片的现象非常常见,即整个报表是一个大的规则 的报表,但是实际上可以分为多个不规则的小区域,各个区域之间看似没有联系, 但是数据之间实际可以相互关联。FineReport 由于支持多数据源,以及数据的 行列对成扩展,因此支持报表的各片独立重复或者相互运算,并且允许固定和变 动分片的混合。
水晶报表(Crystal Report),所有的数据都被划分在条带状的模型当中, 删除分组时会将相关的分组汇总单元一并删除,调整分组字段只能删掉重建,整 个操作比较繁琐,且会导致重复工作。而不规则分组,在 Crystal Report 当中, 则仅仅只是修改组名,无法修改其它跟随数据的计算。
数据扩展和交叉表
分页打印,分栏以及其它打印控制
FineReport 提供了全部的报表打印控制:按照分组或者其它任意的方式来进 行强制分页,补足空行。
分页时标题可重复,不仅是上表头,表格较宽的报表,其左表头也可设置分 页时重复显示。
数据可进行自由分栏,较长的报表,可以按照行分栏,显示成多列;列数较 多的报表,可以使用列分栏来多行显示到同一个页面当中。
水晶报表(Crystal Report),一般只能支持上表头重复,不可以进行强制 分页,补足空行,分栏等操作。
水晶报表(Crystal Report)只能简单地支持某些固定的跨行运算,如累积 值、比上期等,更复杂的跨行组计算只能事先编程准备数据。
报表展现和输出
类 Excel 的界面风格
FineReport 报表工具的界面风格,是完全类似于 Excel 的,格线对齐的编辑 方式,极大的便利了报表的设计和输出,并且单元格内属性比较自由灵活,可以 得到格式任意复杂的报表。
套打
FineReport 报表采用底图描绘,绝对定位的方式完成套打表样的绘制,用户 可将要套打的票据扫描进来作为背景图,用报表设计器进行数据的位置摆放,可 以精确定位数据的位置。
水晶报表(Crystal Report)只能采用精确度量的方案,量好套打票据的尺 寸来设置表格控件的大小,操作繁琐,效率很低。
水晶报表(Crystal Report)的单表模型不能支持分片。对于分片的报表, 一种处理方法是事先编程准备数据,另一种则是靠子报表拼接来完成。处理相当 繁琐,并且这两种处理方法也并非每次都能够达到要求,设计出需要的报表格式。
跨行组运算
报表中常常需要有跨行组的运算,如比上期、比去年同期等。FineReport 报表的单元格层次坐标概念可以精确地引用任何一个扩展之后的单元格,然后通 用地写出表达式进行这些跨行组运算。
水晶报表(Crystal Report)在理论上只支持单数据集,对多集的支持依赖 于数据库的运算能力(叉乘与联合等或写存储过程),多库一般难以支持。另外 一种处理方式,就是将多数据源先变相整理成单一数据源,然后再进行其它操作, 并不是真正意义上的多数据源。
分组的调整,不完全分组
分组是报表数据当中,最常见的方式。FineReport 报表工具的分组,是建立 在单元格的基础之上,因此删除分组,更改分组字段等操作,就只需要对单元格 进行操作,与报表内其它的数据无关。另外,在很多情况下,数据并非枚举式的 完全分组,而是一些固定行列,或者按段分组等形式,FineReport 报表提供了 用户自定义分组,只需要添加一些条件,即可达到不规则分组的目的。
水晶报表(Crystal Report)均采用控件拖拽式绘制报表,这种方案完全没 有体现表格的规律性,当表头复杂的时候,对齐非常繁琐。而且与分辨率相关, 屏幕上对齐的表格,在网页上和打印时又无法对齐。
输入输出
FineReport 报表支持单个或者批量导入 Excel 文件,这样可以由业务人员, 事先画好表样,提高制作报表的效率,并且,批量导入,更加的减轻重复的工作。 生成的报表文件可输出为 HTML、不失真的 PDF、Excel、Word、CSV、SVG 和文本 文件等多种样式。另外,还可生成内置的模板文件。
相对于水晶报表(Crystal Report),FineReport 报表无论是在报表设计, 数据展现,还是表单,应用集成等方面,都具有明显的优势。 报表设计
在报表设计方面,FineReport 报表工具的优势主要体现在以下几个方面:
多数据源
FineReport 报表设计天然支持多数据源(集),同一张报表的数据可同时来 自多个数据表,多个不同的数据库,或者多个不同的用户自定义数据视图,然后 在报表中可直接相互运算形成最终的报表。
水晶报表(Crystal Report)无法支持导入 Excel 文件,最多只能从 Excel 读取数据。其生成的 HTML 一般只能支持 IE;导出 EXCEL 时经常只有数据而丧失 格式,个别工具完成得比较仔细,但也严重依赖于表格绘制时对齐的程度,生成 的文本也只包括数据而丧失格式,无法支持字符终端的报表打印需求。
c#水晶报表教程:对比 FineReport 之报表设计
水晶报表(crystal report) 和 FineReport 都是很常用的报表工具,这里 对比一下它们的报表设计功能。
FineReport 报表软件针对复杂格式的报表数据及 Web 报表的展现,通过多源 分片、不规则分组、双向扩展来轻松拖拽做复杂格式的报表,制作报表从此摆脱 了复杂的 SQL 和表达式,不需要编程,大大提高了报表制作的效率。
FineReport 报表工具的数据扩展,是双向的,也就是行列对称,横纵方向能 力一致,可以方便地制作交叉报表(多层),可同行式表一样制作复杂表头。
水晶报表(Crystal Report)制作交叉报表的方式,是采用专门的交叉表模 型,其表头是按照向导自动生成的,缺乏灵活性。
报表分片Leabharlann Baidu
复杂报表当中,报表分为多片的现象非常常见,即整个报表是一个大的规则 的报表,但是实际上可以分为多个不规则的小区域,各个区域之间看似没有联系, 但是数据之间实际可以相互关联。FineReport 由于支持多数据源,以及数据的 行列对成扩展,因此支持报表的各片独立重复或者相互运算,并且允许固定和变 动分片的混合。
水晶报表(Crystal Report),所有的数据都被划分在条带状的模型当中, 删除分组时会将相关的分组汇总单元一并删除,调整分组字段只能删掉重建,整 个操作比较繁琐,且会导致重复工作。而不规则分组,在 Crystal Report 当中, 则仅仅只是修改组名,无法修改其它跟随数据的计算。
数据扩展和交叉表
分页打印,分栏以及其它打印控制
FineReport 提供了全部的报表打印控制:按照分组或者其它任意的方式来进 行强制分页,补足空行。
分页时标题可重复,不仅是上表头,表格较宽的报表,其左表头也可设置分 页时重复显示。
数据可进行自由分栏,较长的报表,可以按照行分栏,显示成多列;列数较 多的报表,可以使用列分栏来多行显示到同一个页面当中。
水晶报表(Crystal Report),一般只能支持上表头重复,不可以进行强制 分页,补足空行,分栏等操作。