APP下载

基于.NET的Excel报表设计与实现

2016-05-14康维虎柳浪涛

软件导刊 2016年5期
关键词:信息管理系统

康维虎 柳浪涛

摘要:在企业信息管理系统中,欲使Excel报表既满足系统需求又方便用户使用较难做到。阐述了基于.NET的Excel报表设计与实现。使用Excel模板导入数据,既方便统计汇总,又降低了编程难度。

关键词:.NET;信息管理系统;Excel报表

DOIDOI:10.11907/rjdk.161118

中图分类号:TP319

文献标识码:A 文章编号:1672-7800(2016)005-0101-03

0 引言

企业信息化建设过程中,基于Excel的报表建设往往是不可缺少的一环。这是因为基于Excel的报表能够帮助企业管理者全面了解和评价企业的财务状况、经营业绩和现金流量,明确企业竞争地位,预测企业经营前景。企业信息管理系统Excel报表导入导出在满足企业应用需求方面非常重要。大量的企业数据可以通过现有的网络平台及时、准确地汇总上报, 不仅实现了数据共享与融合,而且最大限度地减轻了操作人员的工作强度、减少了差错率,节省了大量的人力、物力、财力。

基于Excel报表建设的研究很多。文献[1]为了满足用户动态需求,提出利用OLE与VBA相结合,对Excel实现一种面向用户的报表技术,使组态人员能定制报表格式和报表数据元素理论。文献[2]以在线评教系统为基础,通过引入COM组件来实现在线评教系统与Excel组件相结合,以满足各类可变数据源报表的生成。文献[3]为了实现基于B/S架构下Excel的报表功能,首先对Excel报表生成的数据进行分层,然后利用自定义标签来标识各层之间的对应关系、位置属性等信息,最后在服务器端实现对自定义标签的识别及报表的填写、输出操作。文献[4]采用分层结构来实现电力系统中的Excel报表生成功能,首先从数据库提取原始数据并经计算生成报表的基础数据,然后通过人机交互的方式从基础数据中选出需要的数据来生成报表。

为降低成本、提高工作效率和质量,增强企业的市场竞争力,本文对兖矿集团管理系统进行了再建。统一了集团所有报表样式,设计了固定模版,通过Web系统导入数据,实现在Internet 上管理数据、调整数据、汇总统计数据、浏览查询报表和打印报表功能,完成企业信息化管理。

1 相关技术

1.1 ADO.NET

ADO.NET(Active Data Objects.NET)是.NET Framework的重要组成部分,ADO.NET能便捷地访问数据库,是Excel表和SQL Sever数据库沟通的桥梁。主要提供一个面向对象的数据存储结构,用来开发数据库应用程序。在Microsoft Office体系中,各种数据格式文档(如.accdb,.xlsx,.docx)之间可以相互查询或操作。ADO是VBA访问外部数据的唯一方式,也是最便捷的方式。当Excel表的数据成为海量数据时,需要借助后台数据库存储,这时,Excel表与数据库的相互访问就必须用ADO方式。使用ADO对非Microsoft Office数据源访问以及对Microsoft Office数据源访问,多数情况下可以简化代码,带来更好的性能.

1.2 OLE技术

对象链接与嵌入OLE(Object Linking and Embedding,简称OLE)是一种面向对象的技术,利用这种技术可开发重复使用的软件组件(COM)。OLE不仅可进行桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数据的函数)进行“连接”的机制,这种连接机制和协议称为组件对象模型(Component Object Model),简称COM。COM使OLE可以对具有对象功能的系统重构,极大扩展了功能,使用户可以跨多个平台进行应用软件的开发。OLE可以用来创建复合文档,包含创建不同源应用程序、不同类型的数据,因此它可以把文字、声音、图像、表格、应用程序等组合在一起。OLE基于组件对象模型,允许在多个应用程序间互操作,在商业电子表格、字处理程序、财务软件包和其它应用程序上,通过客户服务器体系共享和链接信息。

1.3 COM组件

COM component(COM组件)是微软公司为计算机软件生产更符合人类行为方式而开发的一种软件开发技术,是关于如何建立组件以及如何通过组件建立应用程序的一个规范,说明了如何动态交替更新组件。在COM构架下,人们可以开发出各种各样功能专一的组件,然后按需要将它们组合起来,构成复杂的应用系统。

1.4 技术准备

首先在添加引用前必须安装Office软件,其次要添加引用Microsoft.Office.Interop.Excel.dll,这个引用是操作Excel的关键。要利用COM组件将组件引入到.NET环境中。在项目中打开添加引用对话框,选择COM栏,在COM列表中找到Microsoft Excel 11.0 Object Library点击“确定”即可[1]。

2 系统特点

2.1 数据源结构

本管理信息系统的基本功能是:根据系统不同层次对象、资金项目,采用不同的资金项目模板,及时、有效地反馈各单位的资金状况,并进行上报审批,最后进行汇总统计,根据统计后的结果制定相应的制度与措施。各单位可选择模板,把不同的模板导入到信息系统中。系统通过存储结构和动态SQL语句等技术,经由ADO.NET控制客

户端自动生成Excel报表。

2.2 自动计算汇总

兖矿集团子公司遍布全国各地,涉及到的勾稽关系较多,公式也不一样,用户只需输入基础数据,系统便会自动计算汇总数,简化了用户操作,增加了数据的准确性。系统中大部分数据都是直接从数据库里查询出来,但有些数据还需要通过计算得出,比如维持简单再生产资金分汇总项和明细项,汇总项不能直接查询,要通过明细项计算得到。如果这些数据都用手工计算后再录入,将会耗费大量的时间,降低工作效率。

3 Excel报表数据导入

Excel报表数据导入流程见图1。

为了快速把成千上万条数据导入到信息系统,需要借助Excel表操作, Excel表导入数据库步骤:

(1)先选择固定模版,再进行加工,以兖矿集团维持简单再生产年初计划表为例,表头固定后,内容需要按序号添加。

(2)根据上传文件路径,获取文件后缀名,判断文件是否为.xls格式,判断采用Path.GetExtension 方法,该方法返回值包含指定路径的扩展名(包括“.”)的String、空引用(在Visual Basic中为Nothing)或Empty。如果path为空引用(在 Visual Basic中为Nothing),则GetExtension返回空引用(在Visual Basic中为 Nothing)。如果path不具有扩展名信息,则GetExtension返回Empty。

(3)模版的表头信息是否完整。首先,连接字符串string connString= "Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+filePath+";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;' // 指定扩展属性为 Microsoft Excel 8.0 (97) 9.0 (2000) 10.0 (2002),第一行不作为数据返回,以文本方式读取; fileType = FileType.xls。其次,引用工作表上的特定地址范围,指定后面跟有美元符号和该范围的工作表名称,例如:select * from [Sheet1$A:AD];在信息系统中,检查到模版的表头信息不完整时流程会直接中断。反之,导入成功,程序结束。

4 Excel报表数据导出

(1)根据需求,创建相应的Excel工作簿对象模版文件。若创建失败,则返回。

(2)设置模板文件存放位置,并判断模版文件是否存在。若模版不存在,则返回;若存在,则打开Excel文件,先创建Excel应用程序对象的一个实例,相当于打开Excel应用程序。

5 结语

随着企业信息化进程的加快,不同业务系统的建立和大量业务数据的产生促使信息系统功能更加完善,Excel报表系统提高了企业办公效率。远程管理和维护报表功能,能够实现负载均衡,使报表软件部署在分布式集群服务器上。计划任务、批量处理报表及报表存档功能,提供了灵活的批量报表生成功能。兖矿集团管理系统基于Excel报表,实现了批量数据文件导入导出功能,速度快,具有良好的用户体验性。本系统对于复杂报表格式导出非常简单有效,可以简化大量编程操作,适合于各类报表系统开发。

参考文献:

[1] 林艳华,吴健,周胜杰. 基于Excel的电力监控通用报表系统的设计与实现[J]. 计算机工程与科学,2008,30(4):124-127.

[2]舒清录,廖明梅.基于.NET平台的Excel报表研究与实现[J].大理学院学报, 2012,11(4):18-21.

[3]王艳.基于Excel的Web报表的设计与实现[J].计算机光盘软件与应用, 2012(2):137-139.

[4]林艳,吴健,周胜杰.基于Excel 的电力监控通用报表系统设计与实现[J]. 2008,30(4):124-127.

[5]朱波,张峰. ASP.NET平台上基于Office操作集的报表生成方案[J].实验室研究与探索[J]. 2007,26(10):59-62.

(责任编辑:杜能钢)

猜你喜欢

信息管理系统
三维可视化信息管理系统在选煤生产中的应用
信息管理系统在工程项目管理的应用
基于三维TGIS的高速公路综合信息管理系统
SaaS模式下的房地产中介公司信息管理系统
高速公路绿色通道信息管理系统开发与实践