可扩展单元格自定义报表的设计

【摘要】针对现有煤矿报表制作和显示软件所发现的报表软件代码重用性差、报表自定义实现方法复杂、浏览器无法加载报表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)扩展单元算法

按照行方式检索当前报表页的所有可扩展单元格,当检索到该单元格属于可扩展单元格时,检索该可扩展单元格列索引之前的所有单元格,当发现有与该可扩展单元格扩展方向不一致,则该可扩展单元格的扩展方式是行扩展,否则是单元扩展。

4.系统应用成果

从***4中我们可以明显比较出,采用可扩展单元格模型的自定义报表,存在着操作便利的优势,用户只需要配置一行数据源后,就可以完成整张报表的显示。

试验测试结果验证了该系统的优势和实用性。

5.结语

扩展型自定义报表的实现改进了传统的手工编程方式绘制整张报表的流程,使得现在的报表系统更加简单,更具有可移植性。该系统的设计不仅具有实践意义,而且也能为将来的报表组件化提供一些参考和借鉴。

参考文献

[1]宋晓宇,刘蔚然,刘天波.基于组件的自定义报表系统的设计与实现[J].计算机工程与设计,2008(29).

[2]陈传波,黄刚,刘清慧.一种基于的自定义报表的设计与实现[J].计算机工程与科学,2006(6).

[3]宣士斌,李永胜,李熹,刘美玲.VC中基于Excel的用户自定义报表设计[J].计算机工程与设计,2006(8).

[4][美]海杰尔斯伯格,韦尔特马瑟,戈尔德.C#编程语言详解(第2版)[M].韩江,王秀慧译.2007.8.

[5]陈国华,刘海林.管理信息系统中自定义报表工具的研究与设计[M].计算机应用与软件,2006(5).

[6]杜嘉.呼叫中心自定义报表生成系统的设计与实现[J].2010,6.

基金项目:江苏省省级现代服务业(软件产业)发展专项引导资金资助项目(Z065);科技部院所技术开发专项(2012EG122196)。

作者简介:丁瑞琦(1981—),男,江苏常州人,硕士研究生,主要从事煤矿监测类软件设计与研发工作。

可扩展单元格自定义报表的设计

转载请注明出处学文网 » 可扩展单元格自定义报表的设计

学习

光耦合器和光隔离器

阅读(25)

根据电压而不是名称来选择正确的器件。工业术语学常常会模糊相似概念之间的区别。今天,我们发现光耦合器和光隔离器这两个术语被互换使用,来指代相同的功能。分辨这两个术语的特征是隔离电压的大小。光耦合器被用来从某个电势向另一个电势

学习

情商和智商一样重要

阅读(18)

曾国藩曾经把他的幕僚归为四大类:第一种人有本事又听话;第二种人有本事但不听话(或者是很不听话);第三种没本事(或本事不大)但听话;第四种既没有本事又不听话。现今,对于大多数用人者,第一种人为首选,第三种人次之,第二种人再次之,第四种人则在排除之

学习

英国保诚公司未来发展机遇和挑战

阅读(43)

摘要:随着世界经济的持续快速发展以及国际间经济交流的增多,世界范围内经济发展路线开始向宏观经济方向转型,本文在此背景下提出了英国保诚公司未来发展的机遇和挑战,主要提出了英国保诚公司在未来一段时间内的有效发展机遇及面对全球化

学习

罪恶之都是如何形成的

阅读(17)

【摘要】近年来,城市犯罪问题日益严重,随着城市化进程的进一步的扩大,经济和商业的快速发展,城市犯罪也在悄然增长。人人都在城市求生存,这也使得人们对权力和财富等各种利益的欲望愈加强烈,这就难免产生思想、道德、心里、行为、管理乃至秩序

学习

易兰的故事 我的热带雨林拯救行动

阅读(18)

29岁的易兰曾经在跨国公司做过marketing,也自己做过老板。而她的梦想是回复世界的美丽,2年前她加入了绿色和平组织成为森林项目负责人,作为中国的代表参与拯救巴布亚新几内亚的天堂雨林并受到总督接见。地球上两成的人口耗用着地球八成资源

学习

揭秘“微传销”

阅读(20)

一份工作,没有固定的上班时间,坐在家里就能创业,只需投入几千元,就可以轻轻松松月入10万元,108天买奔驰、半年买房,这样的工作你想要吗?这样强烈的诱惑和眼球刺激让很多暂时无业或想要创业的人怦然心动,山西的徐女士就遇到了这样一个所谓的创业

学习

网上订餐系统

阅读(20)

本文为您介绍网上订餐系统,内容包括网上订餐系统需求分析,网上订餐系统活动。【摘要】民以食为天,人们每天都要吃饭。可以说,餐饮业是与人们的生活密不可分的。人们的生活离不开餐饮。在互联网没有问世之前,人们通常是通过电话订餐或者是上

学习

马哲中教条

阅读(19)

内容提要】运用二元对立的知性思维方式来理解马克思哲学,并由此而形成抽象的理论教条,直接妨碍马克思哲学研究的进一步扩展和深化。本文着重反思和分析了在马克思哲学中有着重要影响的两个教条,即“成熟”与“不成熟”二元对立的教条、“解

学习

大陆交换生在台湾

阅读(21)

“这次期中考试,大家做10道题,外籍同学做5道。”台湾成功大学(以下简称“成大”)的讲台上,老师抱着一沓试卷。“侨生呢?大陆同学呢?”讲台下,有同学问。老师头也没抬,“只要是中国人,都要做10道题。”“那台湾同学呢?”一阵几乎异口同声的响亮的声

学习

白兰地鸡尾酒

阅读(12)

本文为您介绍白兰地鸡尾酒,内容包括白兰地鸡尾酒推荐,白兰地鸡尾酒调配大全。干邑白兰地可净饮、可配餐之余,还是理所当然的6大鸡尾酒基酒之一,诸多经典鸡尾酒配方中都少不了它的身影。而另一些简单易饮的鸡尾酒即使原来配方里没有白兰地,

学习

世界上最悲伤作文范文精选

阅读(48)

世界上最悲伤作文篇1——题记泪:1颗,2颗......我独自坐在沙发上伸着手默默数着飘落的泪啊泪,是冰的是凉的是充满无数的倾吐是充满无数的伤痛朋友们你们在何方我很需要你的安慰然而我最慰藉的却是你冰冷的话语那也是有对我注意的冰块!冻

学习

养老金制度改革

阅读(37)

本文为您介绍养老金制度改革,内容包括养老金制度改革的实际情况,养老金制度改革趋势。一、我国养老金制度运行的主要矛盾养老保障制度是社会保障体系的核心内容,也是关系经济发展与社会稳定的基础性制度。因此,我国养老保障基本目标模式选

学习

机电安装工程施工技术解析

阅读(19)

本文为您介绍机电安装工程施工技术解析,内容包括机电安装工程施工工艺标准,机电安装工程施工组织设计。随着科学水平的不断提高,机电安装技术也逐步获得了很大的发展发展。机电安装是建筑工程中十分重要的环节,机电安装的质量将会直接影响

学习

欢网打造智能电视应用平台

阅读(16)

在多屏融合的时代,电视这个传统的颇具影响力的平台似乎没有受到应有的重视。虽然智能电视、互联网电视等新名词不断涌现,但是概念不明、技术标准不统一等因素阻碍了智能电视快速进入寻常百姓家。广州欢网科技有限责任公司(以下简称欢网)项目

学习

合并财务报表编制的方法与技巧

阅读(15)

本文为您介绍合并财务报表编制的方法与技巧,内容包括母公司编制合并财务报表,什么情况下要编制合并财务报表。根据企业会计准则规定,按照企业合并中参与合并的各方在合并前及合并后是否受同一方或相同的多方最终控制,在进行企业处理、编制

学习

浅谈财务报表审核的内容与方法

阅读(26)

本文为您介绍浅谈财务报表审核的内容与方法,内容包括财务报表审核标准,财务报表非标追溯审核。【摘要】财务报表审核是提高企业财务报表编报质量的有效措施,是加强财务管理的重要手段。财务报表审核的内容十分丰富,需要我们综合利用专业知

学习

财务报表分析范文

阅读(129)

财务报表分析范文第1篇摘要企业的财务报表分析是指分析主体根据企业定期编制的会计报表等资料,为各有关方面特别是投资者提供企业偿债能力、获利能力、营运能力和发展能力等财务信息,使报表使用者据以判断并做出相关决策,为财务决策、财务

学习

从财务报表中精选投资标的

阅读(24)

本文为您介绍从财务报表中精选投资标的,内容包括怎样看财务报表选择投资股票,投资公司怎么看财务报表。投资大师彼得・林奇曾告诫人们:“永远不要投资于你不了解其财务状况的公司。买股票最大的损失来自于投资了那些财务状况不佳的公司,如

学习

公司季度报表总结范文精选

阅读(19)

本文为您介绍公司季度报表总结范文精选,内容包括季度业绩报告怎么写,季度业绩报告表格模板。公司季度报表总结篇1在去年三季度金融、地产股受到基金“空翻多”之后,四季度这些行业的龙头股继续受到基金的青睐。据天相投资分析系统显示,可

学习

格力电器财务报表分析

阅读(734)

本文为您介绍格力电器财务报表分析,内容包括2023格力电器财务报表分析,格力电器财务报表综合分析论文。【摘要】财务报告是上市公司向会计信息使用者提供信息的主要文件,为增强其利用程度需对其进行财务分析,进而向不同信息使用者进行财务

学习

企业财务报表研究状况分析

阅读(17)

本文为您介绍企业财务报表研究状况分析,内容包括财务报表分析主要包括哪些内容,上市公司财务报表分析全套。一个企业的财务报表是反映这个企业的所有财务信息的重要手段之一。但是,由于目前在企业财务报表的制作过程中,还存在着企业财务报

学习

基于Excel实现动态报表

阅读(14)

对软件设计中常涉及的动态报表输出问题,NPOI是一个开源的读写excel文件的组件,通过在软件中调用NPOI组件、设计报表模版,并将数据填充到Excel文件中,解决了软件设计中报表定制输出的问题,并在应用软件的开发中得到应用。并在基于c#开发的系统