- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
可扩展单元格自定义报表设计
可扩展单元格自定义报表设计
【摘要】针对现有煤矿报表制作和显示软件所发现的报表软件代码重用性差、报表自定义实现方法复杂、浏览器无法加载报表ActiveX控件等问题,设计了一款以可扩展单元格为模型的自定义报表设计显示软件,该软件能够很好地解决以上的问题,具有很高的实用性。
【关键词】自定义报表;可扩展单元格;横向扩展;纵向扩展;报表组件
1.引言
1.1 报表技术背景
当前报表技术发展的比较成熟了,市场上也存在多个报表产品,其中复杂报表的处理一直是国内报表市场的一个重头戏。数年前国内报表厂商就清晰地提出了中国式报表概念,所谓中国式报表是相对于国外报表来说的。
国外报表:国外的报表样式非常规整,没有格线,表头非常简单,没有斜线表头、没有分层分组。一张报表提供的信息有限,如果要看所有信息,就只能几张表对照着看了。另外,国??的报表似乎没有填的需求。
中国式报表:格式复杂、信息量大。中国报表很少有不带格线的:因为中国的表头比较乱,三五层的大格套小格很常见(还有著名的斜线),没有格线容易看走眼。中国式报表的信息量大,各种各样的数据,明细的、汇总的,往往都集中在一张纸上。
由此对比可以看出中国式报表的问题:(1)格式复杂――意味着格式是报表工具要解决的一个问题;(2)信息量大――意味着复杂的统计运算。一个适合中国式报表的报表制作显示工具应该能够同时解决这两个问题,才能算是一个好的工具。
对于中国式报表的特点,国内厂家就纷纷提出了各种解决方案,笔者就目前市场上的报表产品做了一个简单的比较。
归纳起来现在的报表技术主要分了三种:
a.任意扩展的类Excel报表;
b.拖拽加拼排的结构化设计;
c.结构化和任意扩展混合型。
1.2 报表发展方向
针对于煤矿的报表实际使用习惯和需求,在煤矿自定义报表的解决方案上,笔者倾向于A类方案。
因为首先考虑到使用平台,煤矿自定义报表不需要做到全通用的跨行业平台的万能报表,在结合煤矿实际的业务流程后,得出了一些煤矿专用报表格式。其次考虑到煤矿用户的实际使用水平等,自定义报表不需要太过复杂,尤其是涉及到开放数据库进行用户自定义组合列来实时生成查询语义。
由此可以得出结论,煤矿自定义报表的用户主要分为程序员和煤矿监控操作员这两类人群,其中主要偏向于程序员为主。设计思路是以生成一些现成的可替换的查询语义提供给用户使用,同时该报表的整个框架可以重用,用户(程序员)不需要关心报表显示的细节,只需要将注意力着重于报表的业务数据组织即可。
2.系统总体设计
2.1 系统结构
整个报表平台开发流程如下:
报表制作产生报表模板文件,同时加载报表数据驱动扩展模块,调用驱动的业务数据配置界面,将业务数据绘制到模板文件上,当保存模板文件时,自动解析整张模板文件,获取模板文件上配置的业务数据并清空,再调用数据驱动扩展模块的保存接口,保存业务数据,再保存模板文件。
项目将报表文件路径作为参数调用报表模板显示模块,报表模板显示模块读取模板文件后,对于报表显示终端控件进行编辑,绘制整张报表模板,
项目调用报表数据驱动模块来读取数据业务文件,解析数据业务与数据源的对应关系,根据对应关系去获取数据,并调用报表显示终端控件来编辑整张报表模板,填充相应的报表业务数据。
2.2 系统功能
整个系统可以划分为以下几个功能模块:
(1)报表制作:该功能的使用者为程序员或是煤矿操作员,主要是用来制作报表的显示模板和定制报表的业务数据信息。主要功能有报表文件类操作、报表页面编辑功能、报表可扩展单元格设置、报表自定义脚本数据源定义等。
报表文件类操作:主要负责报表项目文件和业务文件的分离,及各个文件的存储和读取功能,
报表页面编辑功能:主要负责定义报表的模板数据内容,例如编辑报表各个单元格的格式、字体、显示静态文字内容等。
报表可扩展单元格设置:主要负责定义报表的业务数据内容,例如设置某个单元格为可扩展的单元格,并且设置扩展方向和数据源。
报表自定义脚本数据源定义:主要是负责允许煤矿操作员制作临时需要的自定义数据源。
(2)报表数据驱动:该模块主要是负责解析报表业务数据文件,将报表定义的业务数据和实际业务数据源关联起来,并且执行读取实际业务数据源操作,同时根据报表可扩展单元格的设置,进行数据的扩展和排版,形成最终的报表显示数据。
(3)报表Web显示引擎:该模块主要是根据整张报表最终的显示数据,自动解析为对应的报表web显示脚本,并输出给调用者。
3.关键技术
3.1 报表数据驱动
(1)数据扩展算法
(2)扩展单元算法
按照行方式检索当前
原创力文档


文档评论(0)