自定义报表设计方案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关于自定义报表设计方案

方案设计

中间件设计方案:结合客户端控件、服务器组件和主程序本身开发中间件式WEB设计器。

比如常用技术采用:C/S模式的报表设定器->生成XML报表模板->发布到WEB服务器中->通过程序(JSP/ASPX)向报表引擎中传入参数(报表条件等)->报表引擎处理、展现数据。

现列出广州市国土资源和房屋管理局花都分局房地产登记薄管理系统建设项目招标文件中”自定义报表需求”:

评分表中对该模块的评分如下:

仔细分析了需求,主要是对报表设计器的需求和对生成的报表打印功能的需求。

●设计器与BS平台集成在一起,设计器要求是BS的,可以是BS的吗?仔

细考虑了很久,设计器是BS和CS应该是可以选择的

●设计器要求直观,易用,采用拖拽的方式设计报表的样式、控件和绑定数据

●设计器支持生成不同类型的报表如固定行列、简单扩展、分组、交叉、标签、分

栏、图表等报表类型,并且也要支持不同类型报表的复杂组合

●生成的报表可以方便支持各种打印功能:精确打印,支持套打、按行列分页、固

定表头、批量打印

于是在明确了需求的基础上,考虑通过怎么样的技术去实现.

●使用研发中心的designer ?无法实现。designer只能设计简单的表单和非常

简单的报表,简单扩展、分组、交叉、标签、分栏、图表报表都是无法实现的

●使用开源报表工具:

仔细研究了几个开源报表工具ireport&JasperReport 、jfreeReport发现都无法满足需求,后来再网上发现了快逸报表、润乾报表、FineReport,好好了熟悉了一下他们的使用,仔细对比了一下,最后觉定:FineReport是我们原型设计中最好的选择,基本上可以实现标书中对自定义报表的各种需求,当然啦,用免费版的啊,如果完成不了就需要二次开发了。

附:基于BS的网上报表设计方案(部分)

作者:匿名文章来源:Java业界新闻网时间:2007-4-8 11:32:37 阅读次数:438

问题分析

报表系统开发涉及的问题是很多的,主要存在如何获取、如何显示和生成、如何存储等数据和样式的多样性。下面只列出部分设计前期主要存在问题和意见分析。

问题一:

报表到底是如何产生和实现?两种方式:“画”和“填”。

“报表”就是把一些数据放在固定格式的固定位置上的表格,而表格有简易复杂多种。

“画表”就是产生一格的同时也将数据按格式放在格子内,就是格式数据同时产生,这样整个表格画完了,表中的数据也有了,报表就生成了。这种方式适合于用来产生规整的报表,这样才可以逐行或逐列的画出该报表。这种方式的优点是产生报表快(成批处理数据)、处理程序简单(一个循环语句就可以了)。

“填表”与“画表”完全不同,他是必须先有表格格式,然后将指定的数据填在指定的表格位置中就可以了。这种方式既适合于用来产生不规整的报表,也适用于产生规整报表。这种方式的优点当然就是适用范围广,但缺点也有,就是速度慢,因为它要先获取表样,然后一个一个地取出数据,再一个一个地填在格中。

问题二:

如何浏览器内实现如何产生、编辑、保存表样和设计表格样式?如何实现自动计算公式、S QL或功能标签定义嵌入、多种数据交叉报表或产生新报表等很多开发中问题。

表格样式如粗体、下划线、斜体、小数字数、合并表格、删除表格等等样式设计操作,或者像单机软件所具有画图、计算、编辑等功能。这样就要想到采用第三方设计器(编辑器)或者自行开发设计器,现在有些免费或两次开发的源码和组控件,也是不耐中不错办法了。

表格数据样式固定又确保打印不错位不漏的确是有点困难,这可能归于模板定制,比如说:某旅游社的网上报团,打印的报表不符合统一旅游局规定报表,这时根据旅游局提供的规定报表模板,或者是doc模板,或者xsl模板,定制模板导入,自定义模板,确保问题解决,目前普遍都采用结合XML更能实现各种数据样式准确性。数据实时更新,那么可以设计数据同步扫描、数据/文件备份和日志或者灵活调度器,可以确保数据不错漏。

多种数据表复杂、交叉和统计报表都要取决于表结构的设计,或者动态制表、视图和文件等的设计。

问题三:

要想做B/S版通用并易集成的报表系统,采用J2EE还是采用进行报表系统开发?从客户端考虑:

目前,全球90%电脑用户都是在微软的系统平台使用IE浏览器,并且多数使用Office办公软件。我们从技术角度或许不难发现,在客户端WINNT平台浏览器下使用Java应用程序(借助虚拟机),因为系统兼容性需处理编码转换又再通过http传输,据统计性能可能会比微软内核语言应用程序差上20倍左右。在国内Office软件使用率比较高,并且又有支持的免费组控件和一些微软件补丁或扩展服务。非常有利于企业办公报表系统插件嵌入和复杂功能集成。比如:借助免费的Office打印控件可以实现网页像Word打印功能。

J2EE和都是服务器工作网络语言,所以不存在客户端支持不支持控件问题。更多

用的是客户端脚本:Html、JavaScript、VbScript和Office里的宏等。

从服务端考虑:

从服务器系统和B/S系统兼容性,J2EE目前是企业构建多种架构WEB系统专业性最有优越性,但是开发周期长,人物力相对庞大,借助整套微软件产品,虽然不易系统平台移植,开发见效相对快,也降低一定成本,建立中小型企业系统不成问题。两种各有春秋,作为报表系统,问题出现主要考虑功能组件和这两种主处理程序怎样实现和接口。下面列几点分析一下:

1、若接受从客户端传输的是二进制数据流(文件流),两种语言处理不成问题,反之,由于一些客户端应用的微软控件处理的,Java可能更多考虑编码转化后才能有效进行。

2、J2EE报表系统开发可以有JavaBean组件、j2sdk自带的标签库和类、Java的AWT、CORBA等应用或者Java与外部com结合应用组件;比如:涉及JNDI、JACOB、JNI、JFr eeChart 、Jboss等领域应用。

3、报表开发可以引用其它兼容微软组件、framework自带服务器控件库(并有现成数据表、图表控件库)或者调用外部com组件。比如:涉及、DataGird、Data List、DataTable、OLE引用等领域应用。

两者都可以处理和生成XML,PDF和XSL等多种文件,上传下载,数据接口等系列功能。

解决问题

解决一:

如何采取“画表”和“填表”,有两种解决方案:

1.分开处理:让用户在设计报表时确定报表是否规整(这是很简单的事),如果规整就让该报表采用“画表”方式产生,否则采用“填表”方式产生。

2.统一处理:全部采用“填表”方式产生。

解决二:

要在WEB上实现表样的设计有很多种方案可供选择:

1.使用XML/XSL/DHTML/HTML技术来实现

2.自己写ActiveX控件或Java Applet来实现

3.利用IE的WebBrowser ActiveX 控件或借用现成的第三方控件实现

获取免费的第三方软件,无疑是方案最好。比如Microsoft Office Web Components 中的S heetSpace控件,虽然不是免费的(必须要MS Office2000+支持),但用户都有使用MS Off

相关文档
最新文档