excel报表系统

2024-07-25

excel报表系统(精选八篇)

excel报表系统 篇1

无论用Power Builder、Delphi或是其它语言开发MIS系统, 制作报表都是非常麻烦的。由于用户需求是变化的, 报表要经常改动, 所以作为一个完善的MIS系统一般要提供电子报表系统, 用户可根据变化, 利用报表系统自己制作报表。报表系统需要提供读取各种数据的公式。例如大部分比较成熟的财务软件系统都有自己的报表系统, 但对于一般的开发者, 编制自己的报表系统是比较庞大的工作, 而EXCEL制表功能非常强大, 而且具有强有力的数据库管理功能, 丰富的宏命令和函数, 强有力的决策支持工具, 因此可以利用EXCEL的制表功能制作表样, 而利用其读取数据库的能力自动填写表中的数据。

利用Excel的强大制表功能, 在其附带的VBA中, 自定义查询函数使之可以方便地查询数据库中的数据, 并可随数据库数据更新而自动更新, 从而实现数据库报表系统。

2、VBA简介

2.1 VBA

Visual Basic for Application (VBA) 是Microsoft面向最终用户的应用软件编程语言。它最早出现于Microsoft的Excel中, 如今VBA已成为VB和所有Office产品的组件。

VBA的最大特点和最大优点是利用面向对象 (OOP) 的ActiveX Automation技术, 使语言的引擎在技术上与开发环境分离。VBA是一个专门为应用程序宏而设计的一种程序设计环境。Excel是包含VBA的第一个程序, 现在其它的Microsoft应用程序也以VBA为特性。将来Microsoft也可能会把技术授权给其它厂商, 以使他们能在其应用程序中也以VBA为特性。这一切意味着VBA可能会成为事实上的宏程序设计标准。这样的好处是显然的:一种标准语言意味着, 无论是用哪种程序, 都只需学习一组语句和技术集合。

Excel提供数百种内置函数———电子软件包的最大的函数库之一。然而即使有如此庞大的函数集合, 仍然会发现它没有覆盖大量的应用程序。因此, 用VBA定义一些自己应用的函数是有意义的, 特别是读取数据库的函数都需要自己编写。

2.2 VBA中的数据访问

在VBA中可以用DAO或ADO访问数据库。

数据访问对象 (Data Access Objects) :是一种面向对象的数据接口。通过DAO/Jet功能可以访问ISAM数据库, 使用DAO/ODBC Direct功能可以实现远程RDO功能。使用DAO的程序编码非常简单, DAO提供丰富的游标 (Cursor) 类型的结果集和非游标 (Cursor-Less) 类型的结果集。DAO模型是设计关系数据库系统结构的对象类的集合。它们提供了完成管理这样一个系统所需的全部操作的属性和方法, 包括创建数据库, 定义表、字段和索引, 建立表间的关系, 定位和查询数据库等工具。

Active数据对象 (Active Data Objects) :ADO实际是一种提供访问各种数据类型的连接机制。ADO设计为一种极简单的格式, 通过ODBC的方法同数据库接口。可以使用任何一种ODBC数据源, 即不止适合于SQL Server、Oracle、Access等数据库应用程序, 也适合于Excel表格、文本文件、图形文件和无格式的数据文件。ADO是基于OLE-DB之上的技术, 因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。

ADO (ActiveX Data Objects) 是Microsoft提供和建议使用的新型的数据访问接口, 具体实现为Automation。这样, 程序员可以在各种支持Automation的开发环境下方便地访问ADO对象。ADO被实现为OLE DB之上的一个薄层, 这使得ADO可以有更快的访问速度, 更易使用, 同时更节省资源。这意味着程序员可以更为广泛地使用ADO接口, 甚至在所有的基于Windows平台的数据访问中使用它。

对ADO对象的主要操作, 同DAO、RDO库的实现基本相同。主要包括6个方面:

1) .连接到数据源。这是可选的、通常涉及ADO的Connection对象。

2) .向数据源提交命令。通常涉及ADO的Command对象。在查询中可以与参数对象 (Parameter) 协同使用。

3) .执行命令, 比如一个SELECT脚本。

4) .如果提交的命令有结果返回, 可以通过ADO的Recordset对象对结果进行操作, 数据存储在缓存中。

5) .提供错误检测。通常涉及ADO的Error对象。

以程序员的视角来看, ADO、DAO和RDO三者的对象名称不很相同。但使用ADO对象要比DAO和RDO简单得多。最主要的一点在于, 程序员不用像在使用DAO和RDO那样要从对象模型的顶层开始一步步的创建子对象。因此, ADO提供了一种更灵活的编程方式。

3、实现报表

通过EXCEL编写表样、用VBA编写公式读取数据库的数据, 用户就可利用自定义公式制作报表, 实现数据库报表系统。编制的读取数据库的公式的宏模块保存在磁盘中, 用户可以方便地随时加载该模块并使用其中的公式, 不需要时简单地卸载即可。

其中的工作表自动变为不可见, 工作表的"IsAddIn"属性也会被自动设置为"True"。实现报表的步骤:

a.编写数据库自定义函数

在数据库中用SQL语言编写自定义函数, MS SQL SERVER和ORACLE都支持自定义函数。下面是MS SQL创建函数实例dbo.f_benqwlsjmx:

b.编写宏自定义函数

利用VBA中的DAO或ADO, 编制读取数据库的公式, 把包含这些公式宏的工作簿以".xla"格式保存, 该工作簿即成为一个加载宏。在EXCEL中用VBA编写读取数据库的自定义函数, 下面是VBA编写调用数据库SQL函数dbo f_benqwlsjmx的EXCEL自定义函数benqwlsjmx (sever为一个记录的表, rs_test为ADODB.Recordset) :

c.加载创建的宏自定义函数

加载宏的存放位置一般是Microsoft officeOffice文件夹下的"Library"文件夹或其子文件夹, 也可以是Windows所在文件夹下的"Profiles用户名Application DataMicrosoftAddIns"文件夹或其他用户可以存取的地方。此后, 用户就可以通过Excel工具菜单中的"加载宏"命令来加载、卸载它。

d.在EXCEL中制作表样及填写定义函数

一旦加载后, 就可以在当前表单中用加载宏中读取数据库的公式, 制作自己的数据库报表。利用EXCEL制表功能制作表样, 在需要数据的地方填写创建的相应的用户自定义函数以及填写自定义函数的参数。

e.定义公式变量

一般报表都是和日期有关, 也就是在填写用户自定义函数的时候参数有可能是变化的, 不能让用户每次都要改函数的参数, 因此要定义一个公用的变量。

其实EXCEL中每个单元都是变量 (A4、A5、B5等) , 这样通用的变量不适合记忆和理解, 因此可以修改变量单元的命名。例如把单元A4改为KSRQ (开始日期) , B4改为JSRQ (结束日期) , 在相关的自定义函数引用参数时候可以用KSRQ和JSRQ这两个变量, 这样就可以在A4、B4处填写日期或修改日期, 相应函数计算或读取的数据都会自动改变, 实现了表报的一次定义和根据公用变量修改多次计算的功能。

f.打印输出

在EXCEL下打印输出或转换为网页输出。

4、结束语

通过EXCEL编写表样、用VAB编写公式读取数据库的数据, 用户就可利用公式制作报表, 实现数据库报表系统。表报系统中还有数据安全性问题, 这里建立的数据库连接密码是透明的。

摘要:报表制作和打印是MIS系统的重要组成部分, 本文介绍基于EXCEL的MIS系统的表报系统。利用EXCEL强大的制表功能、编程功能和对数据库读取的能力, 实现用户自定义报表系统。

关键词:MIS,EXCEL,DAO,ADO,VBA,电子报表

参考文献

[1].杜飞龙.初步使用ADO--用VB开发数据库应用之二.微电脑世界.1999年第21期。

Excel统计报表的规范化设计 篇2

一、规范数字输入

在需要输入数字的单元格中如不进行强制性的规范,用户有时会输入汉字数字、全角数字等不正确格式的数字,或输入超过指定范围的数字,或需要整数数字时输入带小数点数字。为减少用户类似的输入错误,需要对单元格的输入格式加以限制。其操作步骤是,选择想要设置输入限制的单元格,然后点击主菜单“数据/有效性”,在弹出窗口中选择“设置”页标签,之后根据需要设置相关的输入限制,如只允许输入整数,数字范围介于1到100之间等。同时,我们还可以设置输入提示,提醒用户输入正确的数字;可以在进入该单元格时自动关闭中文输入法;可以设置输入错误提示,并显示自定义错误信息。以设置输入错误提示为例,其操作步骤是,切换到“错误警告”页标签,设置错误信息的标题为“无效的数据输入”,错误信息为“只能输入大于等于0小于等于100的数字”,设置好了之后,如果在单元格中输入非数字字符或数字大小超出范围,就会自动弹出错误提示窗口。

二、规范文本输入

在输入文本时,如果明确只需要输入确定的文本内容,如性别、职称等,则完全可以设置成下拉列表进行选择,不需要用户键入,从而减少输入错误。其操作步骤是,选择需要进行内容限制的单元格,依次单击主菜单“数据/有效性”,在弹出窗口中选择“设置”页标签,在“允许”下拉列表框中选择“序列”,然后在“来源”文本框中输入相应的内容,如“男,女”(中间用半角逗号隔开),同时钩选“提供下拉箭头”,最后,点击确定按钮退出。这时,将鼠标移至单元格,都会出现一个下拉箭头,点击该下拉箭头,在弹出的下拉列表中选择需要输入的内容即可。对于统计报表封面上的标题,由于需要跨多个单元格,可以采用绘图工具条中的文本框进行输入。其操作步骤是,依次点击主菜单“视图/工具栏/绘图”,显示“绘图”工具条,选择工具条中的“文本框”输入标题,并拖放到指定位置。

三、增加帮助提示

在统计报表中增加一些帮助和提示,能避免用户无谓的摸索,加快操作速度。其操作步骤与上述封面标题的输入方法是一致的。但为了打印时这些帮助提示语不被打印出来,必须要再另外进行一些相应的设置。其操作步骤是,选取帮助提示语,点击右键,在弹出菜单中选择“设置文本框格式”,在弹出窗口中选择“属性”页标签,不钩选“打印对象”即可。此外,还可以更改需要突出显示的工作表标签的颜色,使其更加醒目。其操作步骤是,右键点击工作表标签,在弹出菜单中选择“工作表标签颜色”,在弹出窗口中选择红色等醒目的颜色,点击确定按钮退出。

四、设置表格保护

为杜绝有的用户随意更改表格的设计样式,必须对表格进行保护,即对普通用户的权限进行设置,使得用户只能操作指定需要填写的部分,不具有修改包括表头在内的表格其它部分的权限,从而达到规范和统一表格布局和样式的目的。

首先,要对工作簿进行保护,使之不能插入、删除、重命名、移动和复制工作表等操作。其操作步骤是,依次点击主菜单“工具/保护/保护工作簿”,在弹出窗口中设置一个易记且较复杂的密码,按确定按钮退出。由于设置了密码,普通用户就不能随意取消这种保护了。

excel报表系统 篇3

关键词:ADO,EXCEL,数据库,SQL

0 引言

随着网络及数据库技术的发展,基于网络和数据库的应用日益增多,开发图文并茂,便于分析,便于修改,图表化表示数据的数据报表系统是开发数据库应用程序的一个重要任务。考察当前常用的信息系统开发平台的报表工具,主要可分为集成型、控件型、OLE型等几类[1]。实践证明,采用EXCEL处理数据报表是可行、合适、高效的。下文以在VB中使用EXCEL为例探讨有关的几个问题。

1 Excel对象模型的优势

MSExcel是人们普遍熟悉的数据分析工具,使用EXCEL格式的报表,可以充分利用EXCEL强大的数据分析、数据计算、图标处理、报表格式化、打印服务等功能,实现软件的集成,实现复杂问题的简化处理。既降低编程工作量,缩短开发时间以及交付周期,也提高了软件开发效率。

EXCEL编程采用了面向对象技术、过程化控制、模块化编程的思想。便于多种语言实现,可以应用VB、VC、JAVA、C#等语言,实现包括Web、WindowsApp等领域的编程等任务,特别适合用于涉及数据库的各种应用的编程

2 Excel对象模型

如同在VB中使用其他控件一样,要在VB应用程序中调用Excel,必须了解Excel对象模型。Excel对象模型提供能从VB应用程序内部来操纵的对象、属性、方法和事件。Excel提供了很多可用对象类型,此处重点讨论Application等对象[2,3]。

要在VB工程中添加对Excel类型库的引用,首先要通过下面的步骤,完成在VB工程中对Excel类型库的引用,步骤如下。

(1)从“工程”菜单中选择“引用”。

(2)在“引用”对话框中选择Excel类型库:“MicrosoftExcel 9.0ObjectLibrary”。

(3)单击左边小方框,使之出现“√”符号。

(4)按“确定”退出。

其次,在程序中要先定义、实例化Application、workbook、WorkSheet等对象,然后再应用这些对象完成各种任务下面是定义实例化的两种常用方法。

2.1 Application对象

Application对象是Excel对象模型的顶层,表示整个Excel应用程序,是excel的一个进程实例。它的常用属性、方法如下。

(1)Visible属性Excel应用程序是否可见。

(2)Left,Top,Height,WidthExcel窗口位置、大小。

(3)WindowState属性指定窗口的状态模式。

(4)Quit方法,退出MicrosoftExcel。

2.2 使用工作薄

Workbook对象代表Excel应用程序中的一个工作簿。可通过Workbooks集合或表示当前活动工作簿的ActiveWorkbook对象访问Workbook对象。

Workbooks常用的属性、方法及其含义如下。

(1)Add方法,创建新工作簿,并将其添加到集合中。

(2)Open方法,打开工作簿。

(3)Activate方法,使指定工作簿变为活动工作簿。

(4)Save方法,按照给定名称,保存现有工作簿。

(5)SaveAs方法,实现文件换名、格式转换等功。

(6)Close方法,关闭工作簿。

(7)PrintOut方法,打印工作簿。

2.3 使用工作表集合与工作表

与工作表相关的两个对象是Worksheet和Worksheets,Worksheet对象代表一个工作表,Sheets集合表示工作簿中所有的工作表,可以通过Sheets集合来访问、激活、增加、更名和删除工作表。

常用的属性、方法有:

(1)Worksheets属性,返回Sheets集合。

(2)Name属性,工作表更名。

(3)Add方法,创建新工作表并将其添加到工作簿中。

(4)Select方法,选择工作表。

(5)Copy方法,复制工作表。

(6)Move方法,指定工作表移到工作簿的另一位置。

(7)Delete方法,删除指定工作表

(8)PrintOut方法,打印工作表。

2.4 使用单元范围

Range对象代表工作表的某一单元格、某一行、某一列、某一选定区域或者某一三维区域。

常用的属性、方法有:

(1)Range属性,表示单个单元格或单元格区域。

(2)Cells属性,表示单个单元格。

(3)ColumnWidth属性,指定区域中所有列的列宽。

(4)RowsHeight属性,指定区域中所有行的行宽。

(5)Value属性,指定区域/单元格的值(缺省属性)。

(6)Formula属性,指定单元格的公式。

(7)Select方法,选择范围。

(8)Copy方法,将范围的内容复制到剪贴板。

(9)C 1earContents方法,清除范围的内容。

(10)Delete方法,删除指定单元范围。

2.5 使用图表

Chart对象代表工作簿中的图表。该图表既可为嵌入式图表(包含于ChartObject对象中)也可为分立的图表工作表。

(1)Add方法,新建图表工作表。返回Chart对象。

(2)PrineOut方法,打印图表。

(3)ChartWizard方法,修改图表的属性。

2.6 使用Excel工作表函数

EXCEL以数据分析等功能出名,它包含适合在各种行业内使用的大量的函数,在VB程序中可使用大部分的Excel工作表函数,而且在程序开发时可以采用在EXCEL录制宏代码,再将红代码转换为VB代码的方式简化编程。在VB编程中我们可通过WorksheetFunction对象调用Excel工作表函数。

要在单元格中插入工作表函数,可将该函数指定为对应于Range对象的Formula属性值。以下示例将当前工作簿Sheetl内A 1:D 20区域填入随机数。

3 数据库的设计与访问

数据库的设计直接影响到了应用程序的编写,在设计中要充分利用DBMS的功能,利用数据库系统自身的约束机制、事务机制、存储过程等特性来保证数据的完整性、一致性、原子性特性,从而减轻应用程序的负担。

VB处理数据库时,可用ODBC等方式可以使用本地或者分布式数据库系统。目前使用最多的是ADO方式。ADO建立在OLEDB技术之上,它继承了的技术优点并对的接口作了封装,定义了ADO对象,使得开发得以简化。采用ADO技术,不仅能访问关系数据库,还可以用于E-mail文件系统、HTML文件、ISAM文件、电子表格文件,甚至是用户自定义文件,同时获得很好的性能,有利于程序的可移植性及可扩充性[4]。

4 用Excel对象编程的几个问题

4.1 数据导入的方法与效率问题

在使用EXCEL编程时,一个基本的问题是把一定数量的数据导入(或加入)到EXCEL表格(work sheet)中,采用什么方式导入数据?不同的数据导入方式,处理效率可能差异很大。如在数据表数据导入EXCEL文件时,可选方式有最基本的逐行逐列方式和查询表导入两种方式。在数据量较小时,例如100行*20列数据(忽略数据类型的差异),两种方式消耗的时间相差很小,均可接受。但是当数据达到10000行*20列数据时,逐行逐列方式消耗的时间就明显的超出查询表所需的时间,差别甚至会有几十倍之多,事实上随着数据量的增多,效率差异会更大,实验证实了使用查询表方式在数据量庞大时的效率优势。

比较不同的处理方式的内存消耗、CPU处理时间等差别,会发现不同的处理方式,在资源消耗上有明显的差异,这是因为,使用查询表时,我们把数据库链接、数据导入的工作交给了EXCELAPPLICA-TION,由EXCELAPPLICATION采用缓冲、直接读入文件等功能把数据直接快速读入到EXCEL文件的内存区域,代替了VB程序使用ADO技术连接数据库、维护一个记录集、再把记录集内的数据逐行主列读入EXCEL单元格的过程。

一般而言,在需要导入大量的明细数据时,适合采用EXCEL查询表的方式,但是,当需要把大量的统计结果填入EXCEL表,并进行分析、图表处理、打印等工作时,却又不得不采用类似逐行逐列处理的方式来逐区域(range)处理。因为这种情况下,填入统计报表的数据数量不大,但是这些数据的来源却可能是很多个统计查询SQL语句工作的结果,其中还可能进行必要的数据转换处理,例如统计只得到了两个数据,但你却需要把这两个数据填入15个单元格子里的两个特定位置,而其他13个单元格需要填0。

下面是快速生成数据表的查询表导入数据的示例:(`限于篇幅,略去变量定义、初始化部分)

'利用EXCEL查询数据表功能,快速导入数据

4.2 测试数据库是否存在

在面向本地数据库文件编程时,下面的程序用于在判断数据库的存在性,决定程序流程,这里使用了Scripting.FileSystemObject对象,关于该对象,请参考MSDN中的帮助。

4.3 列序号转换

在程序设计中,习惯上使用整数计算列序号,但在RANGE描述时习惯使用字符串名称,有必要把整数给定的列序号转换为EXCEL的字符串表达的列序号,其中列序号限制在256以内,原因是EXCEL要求列数小于等于256。下面代码完成此功能:

4.4 系统的存储与读取配置信息

在程序中,应用了几个与数据库以及最后的输出报表相关的参数,对程序的流程有很好的控制功能,下面给出部分主要代码[5]:

4.5 其他常用功能的处理

4.6 超级链接与WEB发布功能

在特定单元格中增加超级链接把文件存储为HTMl文档,即可轻松实现html文档,通过这种方法,可以实现数据库数据的WEB发布等功能。实例如下:

5 结束语

把VB程序设计的简单性和EXCEL强大的功能相结合,可以快速开发出满足复杂应用的软件,符合现代软件重用思想,在应用开发中研究EXCEL、WORD等应用软件的VB编程对象模型,可以加快软件的开发速度,对我们的软件设计思想、对象化编程、软件的模块化设计软件测试等都有很好的促进作用

参考文献

[1]陈国华.基于Excel的报表引擎的研究与设计[J].计算机工程与设计,2004,25(4):526.

[2]在VB应用程序中调用Excel2000[EB/OL].(2005-10-07).http://www.programfan.com/article/showarticle.asp id=2633.

[3]Excel 2000帮助中的“Microsoft Excel Visual Basic参考”[Z].

[4]秦敏,阮冬茹,张晓明,等.计算机应用研究[J].2004(4):179.

excel报表系统 篇4

关键词:excel报表系统,计划统计,管理系统

1 概述

1.1 在未使用计划统计管理系统前的状况

在未使用计划统计管理系统前, 计划统计数据采集汇总方式基本属于“手工”操作, 即设计表格通过电子邮件下发, 各单位填写完成后通过电子邮件上传, 项目经理部安排人员对邮件下载, 然后汇总分析。但由于各单位人员采用的软件版本、填入数据的格式、输入公式等的差异, 都不能实现即时汇总, 很多数据需要重新采用手工输入后才能汇总。

1.2 计划统计管理系统

计划统计管理系统是基于Excel服务器报表系统开发的一个系统。Excel服务器报表系统是一个面向最终用户的信息系统设计工具与运行平台。

通过EXC EL的输入界面进行数据输入, 存储在数据库中进行数据的提取、调用、汇总、分析, 消除信息孤岛, 实现企业应用集成。

通过这个系统, 各工程局的调度人员、计划人员在施工现场通过固定格式的表格输入计划和每日完成量, 通过计算机的汇总、分析, 各工程局、项目经理部等各级管理人员就可以通过此系统的反馈信息进行进度的管理。

通过计划管理系统, 可以实现网络协同作业, 信息共享, 通过表间公式进行数据的提取、汇总、分析, 实现对工程进展实时了解、掌握。

简而言之, 计划统计管理系统提供了一种电子表格Excel的网络化应用模式。在这种模式下, 用户依然用熟悉的Excel做着自己熟悉的工作, 但是背后的事情发生了变化:数据集中统一管理了, 操作简单了, 权限严格了, 信息传递规范了, 大量耗时耗力汇总统计工作自动化了——原来分散孤立的一个个Excel工作簿不见了, 拥有了一个完整的管理信息系统!

计划统计系统根据目前高速铁路进度管理需要精细化、实时了解工程进展的特殊要求, 把进度管理所需要涉及到的主要信息、通过“模板”化的电子表格, 进行规范化、流程化。通过分级授权, 实现信息的共存、共取, 资源共享。此系统消除了信息孤岛及信息的不对称, 使各个层级的管理者能够通过共有的平台, 及时反馈、了解、汇总、分析工程的进展情况。也为整个工程人员配置、资源配置、施工方案的调整, 工程的进度预警及时提供第一手信息, 为领导决策提供重要的依据。

2 Excel服务器报表管理系统系统优点

Excel服务器报表管理系统有以下十个优点:

2.1 提高数据准确性

手工制作报表, 非常容易出错。采用计划统计管理系统, 通过表间公式保证数据是由计算机进行处理的, 基本上可以排除人为错误的可能性。

2.2 提高工作效率

单机使用Excel, 许多情况下对于其他部门、单位等的外来数据需要手工输入、计算以及调整格式。非常麻烦, 效率很低。运用计划统计管理系统, 通过网络进行协同作业, 可以通过表间公式, 自动从其他部门的报表取数、计算, 大大提高工作效率。

提高工作效率后, 从项目部到工区的计划统计工作人员可以有时间了解现场, 一方面能及时掌握现场情况, 另一方面能提高全体计划统计人员的业务素质和能力。

只要增加并发用户, 项目部其它部门也可以用此系统进行数据的分发汇总, 大范围地提高工作效率。

2.3 报表、数据集中管理, 数据安全

传统情况下, 一份报表分别存放在不同地方、人手中, 特别是, 企业中习惯保存纸张, 对Excel文件不保留, 造成数据分散、乱, 不安全。而计划统计管理系统所有文件均存放在服务器上, 文件集中存放、集中管理, 能确保数据的完整、存取查阅方便。

2.4 充分利用数据, 提供决策充分依据

传统情况下, 报表、数据分别保存在个人或部门手中, 决策者需要准确信息时, 面临着:决策信息不全, 第二获取速度慢。采用计划统计管理系统, 企业中的数据可以集中管理, 通过帐号登录服务器, 查询非常方便, 对于管理者来说, 决策信息获得迅速而准确。

2.5 提高管理水平、提高管理标准化

随着企业管理的进步, 许多企业都进行了ISO 9000ISO 14000O SA 18000等国际标准认证, 这些保准都需要用记录来证实确实执行了获得的认证。如果选用计划统计管理系统来管理这些表格, 可以大大提高企业管理水平和效率。

对于一般的管理, 通过计划统计管理系统也可以增进企业的管理标准化工作。

2.6 相对其它的管理系统成功率高

为什么全球的互联网能够形成, 而一个企业的ERP却难以成功?

其中一个主要原因是互联网的成功在于:

2.6.1 统一标准

所有的国家、企业要想联上互联网, 必须遵守TC P/IP等一系列标准。

2.6.2 自主管理

每个国家、公司都是自己来管理自己的网络。

计划统计管理系统采用了类似于互联网的结构:

1) 系统管理只管企业公共的部分。

2) 每个使用者都可以在遵守企业标准的情况下自主建立自己的报表和授权。

3) 会用Excel, 就能做大型的管理信息系统。

会Excel的人很多, 做管理和做信息系统能够统一, 降低成本, 降低风险, 快速变化, 成功率高。

2.7 信息化成本低

目前网络已经健全, 可以充分利用现有的网络系统, 不需过多增加网络和终端设备投入。

其它项目管理平台, 动则几十万, 而计划统计管理系统只要几万元。其它项目管理平台往往华而不实, 建立以后无法真正使用;而计划统计管理系统建立以后, 可以通过大家熟悉的EXC EL平台建立一套项目管理系统, 操作简单、方便。一学就会。以下是其它项目管理平台与计划管理系统的一个简单对比:

2.8 维护容易

随着市场的变化、技术的进步和管理的持续改进, 都需要管理变革, 管理变革的形式都会反映到信息系统上。由于计划统计管理系统中, 不需要编程就能改变报表, 因此, 改变报表管理人员就能做, 变化就会非常容易的得到反映。

2.9 学习容易

会用Excel, 就会计划统计管理系统, 不用编程。计划统计系统的人员都会使用EXC EL表格工作, 表格转换也容易, 能快速进入工作状态。

2.1 0 即集中管理, 又非常灵活

实现了信息系统, 通常会带来了不灵活, 而企业又是常常变化的。计划统计管理系统使用起来非常灵活, 不受固定格式的限制, 可以随时增加需要的信息, 可以附注信息等等。

GAE环境下导出Excel报表 篇5

1 GAE应用开发

GAE的应用非常容易建立和维护,GAE起初只支持Python语言,后来逐渐支持多种编程语言。GAE提供了Java运行环境,可以使用标准的Java技术,包括JVM、Java Servlet、Java语言或者任何其他基于JVM的解释语言或编译器,如Javascript或Ruby。GAE提供了一个受限的Python运行环境,包括一个Python解释器和Python标准库。GAE提供的Java和Python环境保证应用运行的快速、安全,不受其他应用的影响。

不同于传统的虚拟主机,GAE提供的是整套构建应用的基础架构平台,可以帮助开发人员获取网络数据、发送邮件、数据存储、图片操作、缓存数据等,以后还会有更多的API推出。开发人员在GAE的框架内开发,不用再考虑CPU、内存、分布等复杂和难以控制的问题,初级的程序员按照GAE的规范也可以写出高性能的应用。但是为了安全考虑,GAE不能直接使用socket、进行文件操作。总之,GAE提供的开发环境,可以让开发更加简单,更关注于业务。

在GAE环境下,可以免费使用500M的存储空间和每月500万次页面刷新,如果想使用更多的资源,可以按需支付费用。

2 生成Excel文件

GAE提供的是受限的Python环境,在此环境下生成Excel文件只能依靠第三方库。pyExcelerator是一个主要用于产生Excel文件的库,能够灵活产生各种带格式的Excel文件,也能够读取已经存在的Excel文件,只是美中不足只能读取Excel单元格的值,而不能读取各个单元格的格式。pyExcelerator完全支持UNICODE,并且支持各种格式设置。最重要的是pyExcelerator是一个跨平台的组件,并不需要Windows平台和COM服务器也能正常使用,这非常符合GAE环境的要求。

pyExcelerator中有多个类用于产生Excel文件,其中常用的有三个:Workbook,Worksheet,XFStyle。Workbook代表一个Excel文件,Worksheet代表一个Excel文件中的一页,XFStyle用于确定产生单元格的格式。

2.1 生成最简单的Excel文件

生成最简单Excel文件的代码如下:

可以看出主要是用Worksheet对象的write方法写入数据的,此函数定义:write(r,c,label="",style=Style.XFStyle())。r、c是要写入数据的单元格的行、列坐标,从0开始,如A1单元就是(0,0),B2单元就是(1,1)。Label参数是要写入的具体内容。最后的style参数指定写入时的格式,这在下面讨论。

2.2 设置单元格字体

设置单元格的字体格式就要使用Font对象,代码如下:

可以看到通过Font对象可以设置各种字体格式,大部分使用方法都在注释中给出,其中比较特殊的两个:escapement用于设置字体的上下标,ESCAPEMENT_NONE不使用上下标,ESCAPEMENT_SUPERSCRIPT使用上标,ESCAPEMENT_SUBSCRIPT使用下标。underline用于设置字体的下划线,UNDERLINE_NONE不使用下划线,UNDERLINE_SINGLE使用单下划线,UNDERLINE_SIN-GLE_ACC使用会计用单下划线,UNDERLINE_DOUBLE使用双下划线,UNDERLINE_DOUBLE_ACC使用会计用双下划线。另外,通过设置一行上某个单元格字体的高度(height)就可以间接的设置此行的行高。

2.3 设置列宽

2.4 设置单元格边框

每个单元格都可以设置其边框,这要通过Borders对象。

可以看出Borders是格式(XFStyle)的一种,它的left、right、top、bottom、diag属性分别设置左、右、上、下、对角五条线的类型,类型共有14种:NO_LINE、THIN、MEDIUM、DASHED、DOTTED、THICK、DOUBLE、HAIR、MEDIUM_DASHED、THIN_DASH_DOTTED、MEDIUM_DASH_DOTTED、THIN_DASH_DOT_DOTTED、MEDIUM_DASH_DOT_DOTTED、SLANTED_MEDIUM_DASH_DOTTED。其中NO_LINE为不显示相应的边框,其它值显示对应线形样式的边框,但diag除外。它的left_colour等以_colour结尾的属性是对应的线的颜色的索引。need_diag1、need_diag2设置是否需要对角线:NEED_DIAG1(或2)需要、NO_NEED_DIAG1(或2)不需要。上面的diag属性只是设置对角线的线形,只有设置need_diag属性为NEED才真正显示对角线。

2.5 设置单元格底纹

设置单元格的底纹要通过Pattern对象。

Pattern的pattern属性指示底纹的图案索引,0为实心,1为75%灰色,2为50%灰色,依次类推,可以参考Excel的帮助文档。pattern_fore_colour、pattern_back_colour指示底纹前景色、背景色的颜色索引。

2.6 生成合并的单元格

生成合并的单元格要通过Worksheet的write_merge、merge方法,write_merge的定义:write_merge(r1,r2,c1,c2,label="",style),merge的定义:merge(r1,r2,c1,c2,style),其中r1,r2指示要合并单元格的起始行、终止行(0为第一行);c1、c2指示要合并单元格的起始列、终止列(0为第一列);label是写入的数据内容;style指示合并后单元格的格式。可以看出merge是write_merge的特殊情况,merge只能执行写入内容为空的合并操作。示例代码如下:

2.7 其他操作

pyExcelerator还有其他操作,包括设置数字单元格的格式、插入图片等,可以参考pyExcelerator的例子和文档,这里不做详细介绍。

3 GAE返回Excel报表

3.1 得到Excel二进制流

pyExcelerator库可以方便的生成Excel文件,但GAE环境却不允许文件操作,也就是说,Workbook的save方法是不允许执行的。如果要返回Excel报表文件,可以参照GAE返回图片的方法,直接将Excel的二进制流返回给浏览器。这就需要修改Workbook和CompoundDoc.XlsDoc的代码,仿照save函数加入返回二进制流的函数:savestream。

这样可以通过Workbook的savestream函数最终得到了Excel文件的二进制流。

3.2 返回Excel流

用户在请求Excel报表的时候就可以将上面生成的Excel二进制流返回了,如同请求一个Excel文件一样。但返回流的时候,还要通过设置HTTP报文头,通知浏览器这是个Excel文件。具体代码如下:

4 结束语

本文给出了GAE编程环境下用pyExcelerator库生成Excel报表的方法,着重介绍了产生带格式Excel文件的方法和将生成的Excel二进制流返回给浏览器的方法。由于GAE是新兴的一种网络应用服务架构,在其上开发的应用越来越多,不论是企业信息产品还是网络服务网站,大多都需要产生Excel报表,因此本文给出的方法具有较强的实用价值。

参考文献

excel报表系统 篇6

用过Excel的人都知道Excel的功能很强大, 下面笔者通过自己的教学经验来分析VB和Excel的设计数据报表。

1 EXCEL对象

在VB中能处理的Excel对象有:Application、Work Books、WorkSheets、Range及Cells, 利用这些对象所提供的属性、方法和文件, 就可以很容易的在VB应用程序中生成Excel报表, 但要注意使用它们之前要先声明。

(1) Application对象是对象模型的顶层, 表示整个Excel应用程序。

(2) Workbook对象表示Excel应用程序中当前打开的一个工作簿。

(3) Worksheet对象表示工作表对象 (一个工作簿可以包含多个工作表) 。

(4) Range对象代表工作表的某一单元格或多个单元格、某一选定区域等。

(5) Cell对象表示特定工作表的一个单元格对象。

2 利用VB操作Excel

在VB应用程序中可以访问Excel对象的属性、事件、方法, 相当于把Excel对象作为外部对象来引用。

(1) 对象引用。单击“工程”菜单, 选择“引用”栏, 在弹出的对话框中选择Microsoft Excel 11.0Object Library就OK, 表示工程中要引Excel类型库。

(2) Excel对象。

对象声明如:

Dim x1App As Excel.Application

Dim x1Book As Excel.WorkBook

Dim x1Sheet As Excel.WorkSheet

(3) 操作命令

(4) 在VB应用程序中使用激活Excel文档、打开excel工作簿, 设置活动工作表、关闭工作簿及释放Excel对象等命令操作Excel时, 需要设置Excel对象不可见 (x1.Visible=True) , 否则VB程序可继续执行其它操作, 关闭Excel文档, 释放Excel对象时, VB应用程序会产生自动化错误。

3 利用Excel输出报表

(1) 设计数据库stud, 在stud库中添加xsjbxx表, 包括学号、姓名、性别、班级、出生年月、家庭住址、入学时间等字段。

(2) 设计没有记录的Excel文档当模板文件, 用来控制VB与Excel之间的数据传递。

(3) 初始化定义。

Dim conn As ADODB.Connection

Dim rc As ADODB.Recordset

Dim i As Integer

设置表单unload事件:

(4) 生成Excel报表。

rc.Open"select学号, 姓名, 性别, 班级, 出生年月, 家庭住址, 入学时间from XSJBXX, conn

4 结语

Excel是一个功能强大且非常优秀的报表创建工具, 它支持表格的操作和绘图功能完全满足复杂报表的需要, 由于VB的扩展性和融入office的特性, 就可以用Excel来实现VB的报表设计, 增强了报表的灵活性和通用性。

参考文献

[1]李雁翎.Visual Basic程序设计[M].清华大学出版社, 2004.

excel报表系统 篇7

1 设计思路

Java对于Excel的操作一般借助于POI类库,由于该报表的表头比较复杂,直接用POI控制报表的生成比较困难,这时可以先制作Excel报表模板,而后再通过Java调用POI函数将用户数据写入到Excel报表模板,最后导出到新的目标文件即可。

2 设计步骤

2.1 Excel报表模板

根据需要设计出Excel报表,并保存为report.xls。该报表有复杂的表头,报表第4行为合计行,用于对所有数值型列的各行数据进行汇总,如图1所示。

2.2 Struts的动作执行函数ExcelExportAction

该Action函数在用户需要执行报表导出时通过Struts页面调用或用户触发执行。

2.3 设计业务处理类ExcelPoi

3 结语

对于一些要求非常苛刻的报表输出可以借助于一些第三方插件,比如水晶报表等。在实际中可以随心所欲地构建报表模板,而后通过程序控制将需要导出的数据导出到报表中,关键在于如何精确地控制数据导出的位置,保证数据在报表中的准确的位置,这是需要格外注意的。

参考文献

[1]刘娟,杨丽君.基于Java的Excel文件操作[J].电脑知识与技术,2007,2(12).

[2]王路群.Java高级程序设计.北京:中国水利水电出版社,2006.

excel报表系统 篇8

企业信息化建设过程中,基于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.0Object 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应用程序。

Excel.Application excelApp=new Excel.Application();

再打开现有的Excel文件:

(3)获取DateSet数据源,并根据数据源填充Excel模板文件,把数据集填入当前Workbook指定的sheet,部分源代码如下:

(4)保存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.

本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处

【excel报表系统】相关文章:

报表系统05-21

报表系统07-27

报表统计系统07-01

合并报表系统08-12

网上报表系统范文06-02

平安财险报表系统07-11

合并报表系统介绍04-15

报表综合管理系统06-22

开发区报表系统05-02

财务报表分析管理系统07-21

上一篇:纳兰性德词下一篇:网络环境教与学