自定义报表设计方案

                    关于自定义报表设计方案
方案设计
中间件设计方案:结合客户端控件、服务器组件和主程序本身开发中间件式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
问题分析
报表系统开发涉及的问题是很多的,主要存在如何获取、如何显示和生成、如何存储等数据和样式的多样性。下面只列出部分设计前期主要存在问题和意见分析。
问题一:
报表到底是如何产生和实现?两种方式:“画”和“填”。
“报表”就是把一些数据放在固定格式的固定位置上的表格,而表格有简易复杂多种。
“画表”就是产生一格的同时也将数据按格式放在格子内,就是格式数据同时产生,这样整个表格画完了,表中的数据也有了,报表就生成了。这种方式适合于用来产生规整的报表,这样才可以逐行或逐列的画出该报表。这种方式的优点是产生报表快(成批处理数据)、处理程序简单(一个循环语句就可以了)。
  “填表”与“画表”完全不同,他是必须先有表格格式,然后将指定的数据填在指定的表格位
李四光计划置中就可以了。这种方式既适合于用来产生不规整的报表,也适用于产生规整报表。这种方式的优点当然就是适用范围广,但缺点也有,就是速度慢,因为它要先获取表样,然后一个一个地取出数据,再一个一个地填在格中。
问题二:
如何浏览器内实现如何产生、编辑、保存表样和设计表格样式?如何实现自动计算公式、SQL或功能标签定义嵌入、多种数据交叉报表或产生新报表等很多开发中问题。
表格样式如粗体、下划线、斜体、小数字数、合并表格、删除表格等等样式设计操作,或者
像单机软件所具有画图、计算、编辑等功能。这样就要想到采用第三方设计器(编辑器)或者自行开发设计器,现在有些免费或两次开发的源码和组控件,也是不耐中不错办法了。
表格数据样式固定又确保打印不错位不漏的确是有点困难,这可能归于模板定制,比如说:某旅游社的网上报团,打印的报表不符合统一旅游局规定报表,这时根据旅游局提供
的规定报表模板,或者是doc模板,或者xsl模板,定制模板导入,自定义模板,确保问题解决,目前普遍都采用结合XML更能实现各种数据样式准确性。数据实时更新,那么可以设计数据同步扫描、数据/文件备份和日志或者灵活调度器,可以确保数据不错漏。
多种数据表复杂、交叉和统计报表都要取决于表结构的设计,或者动态制表、视图和文件等的设计。
问题三:
要想做B/S版通用并易集成的报表系统,采用J2EE还是采用Dot.Net进行报表系统开发?
从客户端考虑:
目前,全球90%电脑用户都是在微软的系统平台使用IE浏览器,并且多数使用Office办公软件。我们从技术角度或许不难发现,在客户端WINNT平台浏览器下使用Java应用程序(借助虚拟机),因为系统兼容性需处理编码转换又再通过http传输,据统计性能可能会比微软内核语言应用程序差上20倍左右。在国内Office软件使用率比较高,并且又有支持的免费组控件和一些微软件补丁或扩展服务。非常有利于企业办公报表系统插件嵌入和复杂功
能集成。比如:借助免费的Office打印控件可以实现网页像Word打印功能。
J2EE和 Dot.Net都是服务器工作网络语言,所以不存在客户端支持不支持控件问题。更多用的是客户端脚本:Html、JavaScript、VbScript和Office里的宏等。
从服务端考虑:
  从服务器系统和B/S系统兼容性,J2EE目前是企业构建多种架构WEB系统专业性最有优越性,但是开发周期长,人物力相对庞大, Dot.Net借助整套微软件产品,虽然不易系统平台移植,开发见效相对快,也降低一定成本,建立中小型企业系统不成问题。两种各有春秋,作为报表系统,问题出现主要考虑功能组件和这两种主处理程序怎样实现和接口。下面列几点分析一下:
1、    若接受从客户端传输的是二进制数据流(文件流),两种语言处理不成问题,反之,由于一些客户端应用的微软控件处理的,Java可能更多考虑编码转化后才能有效进行。
2、    J2EE报表系统开发可以有JavaBean组件、j2sdk自带的标签库和类、Java的AWT、CORBA等应用或者Java与外部com结合应用组件;比如:涉及JNDI、JACOB、JNI、JFr
叶木荣
eeChart 、Jboss等领域应用。
3、    Dot.Net报表开发可以引用其它兼容微软组件、framework自带服务器控件库(并有现成数据表、图表控件库)或者调用外部com组件。比如:涉及ADO.NET、DataGird、DataList、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 中的SheetSpace控件,虽然不是免费的(必须要MS Office2000+支持),但用户都有使用MS Office,不仅开发成本降了,用户操作也习惯,它能有效具备EXCEL功能,即:
1)    在Microsoft Office Web Components中的SheetSpace控件内设计表样,或者在MS EXCEL内设计好表样,再将其导入到Microsoft Office Web Components中的SheetSpace控件中显示出来;设计一个导入MS EXCEL的程序。数据显示格式、分页、固定表头、字体大小、颜等等都在设计在表样中。
2)    报表数据从数据库中提取后以XML的格式保存在客户端,在Microsoft Office Web Components中的SheetSpace控件内显示,将获取的报表数据填在指定的单元格;

本文发布于:2024-09-23 15:25:43,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/292748.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:
标签:报表   设计   数据   控件
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议