admin 管理员组

文章数量: 1184232


2024年4月18日发(作者:reactor教程)

维普资讯

2006年12月 

湛江师范学院学报 

JOURNAL OF ZHANJL NG NORMAL COU GE 

Dec.,2006 

第27卷第6期 

Vol_27 No.6 

在ASP.Net环境下使用C#语言创建0WC动态数据表 

孔艺权,连晋平,王文娟 

(湛江师范学院信息科学与技术学院,广东湛江524048) 

摘要:创建动态图表一般都需要第三方软件,OWC提供的是一个既便宜又简单的适宜创建动态图表的环境, 

除了在涉及第三方工具软件外,OWC图表还提供完全客户化的环境,以便用户描绘图表并分析数据.该文主要介绍 

如何在ASP.Net中使用C#创建OWC动态图表,及如何在ASP.Net中引用数据库数据创建图表的方法,其中对于所 

涉及的工具作了比较. 

关键词:OWC组件;图表;ASP.NET;C# 

中图分类号:TP311 文献标识码:A 文章编号:1006—4702(2006)06—0125一o4 

0引言 

随着Web的推广和用户的增加,静态页面已不能满足用户日益增长的需求,于是产生了像ASP一类的 

动态页面.ASP能够将代码直接嵌入HTML,使设计web页面变得非常简单,且通过内置的组件能实现一些 

更加强大的功能,例如使用ADO建立一个动态页面等.微软推出的.Net提供基于XML的应用程序、过程和 

网站创建,通过提供端对端的Web开发能力和可升级、可重用的服务器端组件,编译而非解释执行服务器端 

代码,克服以往ASP开发中存在的问题,使得开发 出的功能更加强大,执行更加快速,尤其用C#来编写程 

序,可以进行很多底层操作而不必借助于其它编程语言.ASP.Net提供稳定的性能、优秀的升级性、更快速更 

简单的开发、更简单的管理、全新的语言以及网络服务.本文探讨了在ASP.Net环境中使用C#语言,调用 

OWC组件创建在Web上发布的动态图表的问题,分析了ASP.Net和ASP的特点以及在调用OWC的数据源 

组件时ASP.Net和ASP的区别,提供了在ASP.Net中使用数据库数据创建图表的方法和程序. 

1 OWC的主要功能 

OWC是包含在Microsoft Office 2000中的组件,我们可以使用它建立数据分析表,并将其发布在网页上供 

用户浏览,让用户查看网页上已发布的控件、数据和访问页面.OWC是标准的COM控件,可用于许多控件容 

器中,如Microsoft Internet Explorer,Microsoft Visual Basic,Microsoft Visual C++,Microsoft Visual FoxPro等.它也可 

支持常见的开发界面,如VBScript,JavaScript,VBA,Java,C++,以及C#语言.OWC包含4个主要组件: 

①电子数据表格 

②图表 

③数据透视表 

④数据源(Data Source) 

OWC的每个组件都包含相关的AetiveX控件,其中:数据源组件是支持外部数据源的核心控件,它是一 

收稿日期:2006—11—02 

作者简介:孔艺权(1982.),男,广东江门人,湛江师范学院助理实验师,从事网络及敦据库的应用研究. 

维普资讯

126 湛江师范学院学报(自然科学) 第27卷 

个不可见组件,广泛用于获取和操作数据,它提供了用于OWC组件的数据检索、数据绑定和游标管理等功 

能,通过一个相关联的对象DataSourceControl产生作用,它和其他控件一起包含在Ofifce的DLL(Msowc.dl1) 

中,只有在发布图表或数据透视表且需要绑定数据时才会用到;图表组件是Microsoft Ofifce使用的数据绑定 

ActiveX控件,用于实现向Web页添加图表的功能,支持Excel 2000中大部分二维图表、极坐标图表(如饼图 

和雷达图)以及组合图表(如两轴线一柱图);数据表随同图表发布,图表随数据的变化而改变.图表支持不同 

类型的数据源,这些数据源有: 

●实现IDataSource接口的任何数据源 

●支持ADO Recordset对象 

●XML数据流(数据为XML格式) 

●以一定格式的限定字符串或序列的字面数据 

2 ASP与ASP.Net的区别分析 

许多网站直到现在仍在使用静态页面方式.由于静态页面存在许多缺点,人们又开发出了像ASP一类 

的动态页面.ASP能够将代码直接嵌入HTML,使得设计WEB页面变得非常简单,它可通过内置的组件实现 

些更加强大的功能,最明显的就是使用ADO建立动态页面.ASP与ADO的结合使开发者可以很容易地在 

个数据库中建立和打开记录集.但由于ASP属于一种解释型的编程框架,它的核心是VBScript和Java 

Script,受这两种脚本语言的限制,它无法进行像传统语言那样的底层操作,所以如果你需要进行诸如Socket、 

文件等的操作时,不得不借助于用其他一些传统编程语言,如c++、Visual Basic等编写的组件,并且由于它 

是解释执行的,所以在运行效率上大打折扣. 

ASP.Net是微软公司发展的新的体系结构Microsoft.Net的一部分,它不仅仅只是一个有新界面和修复了 

些缺憾的ASP3.0的升级版本,更为重要的是:ASP.Net集中了ASP的优点并使其扩大: 

1)ASP.Net是由.Net框架提供的类库构建而成的,它提供了一个web应用程序模型,该模型由一组控 

件和一个基本结构组成,开发人员可以直接使用ASP.Net控件集.控件集封装了公共的用于超文本标识语言 

用户界面的各种小组件(诸如文本框、下拉选单等). 

2)ASP.Net具有更好的代码控制,解决了以往运用ASP技术时COM对象要在服务器上注册等方面的问 

题. 

3)ASP.Net是一种编译型的编程框架,核心是NGWS Runtime,NGWS Runtime是一个时间运行环境,它管 

理代码的执行,使程序设计更为简便而运行速度快. 

4)支持多种语言,除了和ASP一样可以采用VBSeript和JavaScifpt作为编程语言外,ASP.Net还可以使用 

Visual Basic.Net和C#来编写,这就决定了它的功能的强大,可以进行很多底层操作而不必借助于其它编程 

语言.其中C#是微软公司专门为其新生的.Net应用开发系统框架研究开发的面向对象的编程语言,它由c 

和c++衍生出来.C#的设计意图是要将Visual Basic的高生产率和c++直接访问机器的强大能力结合起 

来.为了让.Net运行环境能充分发挥它的威力,编程语言需要符合某些规则,其中一条重要的规则就是:语 

言的类型系统必须符合公共类型系统(CTS)的规定.不巧的是许多C++特性都不被CTS支持,例如多继承 

和模板等等,这就注定C++很难成为最佳选择. 

5)在ASP.Net中可使用ADO.Net对数据库数据进行存取.ADO.Net是对ADO的继承,是一个用来存取 

数据和信息的API,它提供与OLE DB兼容的数据源的数据存取接口,应用程序可以使用ADO.Net连接这些 

数据源来获取、操纵和更新数据.在ADO.Net使用XML交换数据,其执行的效率比传统的在ADO上使用 

COM marshelling来包装数据后进行传输的方式要快得多,在ADO的基础上又增加了如DataSet、DataView等对 

象.其中DataSet对象是ADO.Net得核心,代表一整套包含关系表、约束、关联的完整数据集合,是一个或多个 

DataTable对象表示的表的集合,DataSet专门用来从数据保存体DataStore中读出数据。DataSet是XML与 

ADO结合的产物,它的一个重要特点是与数据库或SQL无关. 

6)当使用OWC的Data Source时,ASP可用ADO Recordset对象作为图表的Data Source,而且这种方法简 

单直接.在ASP.Net中使用Data Source组件时,因为.Net的体系结构不直接支持从ADO.Net的DataSet到 

维普资讯

第6期 孔艺权等:在ASP.Net环境下使用C#语言创建OWC动态数据表 127 

ADO Recordset对象的转换,所以在ADO.Net中的DataSet不执行IdataSource类型的数据。如果有DataSet需 

要创建图表,要将其转换为适合ADO的XML格式的数据流,或采用将DataSet转变为字面数据的方法

. 

3在ASP.Net中使用C#完成图表 

创建OWC图表须先安装OWC组件.下面例示完成过程.在Visual Studio.Net中的Soluti0 Explore ,右击 

Refeernces,选择要添加的项目.在出现的对话框中选择COM表,从所列表中选择Microsotf Offlce Compo ent后 

确定.在C#网页中添加这个控件所使用的命令为: 

using OWC; 

在ASPX网页中应提供可以保存或支持图像显示的地方placeholder,添加的代码如下: 

<asp:placeholder id=“ChartHolder”runat=“server”></asp:placeholder> 

下面是创建柱型图的程序代码: 

OWC.ChartSpace objCSpace=new OWC.ChartSpaceClass(); 

OWC.WCChart objChart=objCSpace.Charts.Add(0); 

//使用OWC.ChartChartTypeEnum确定图表类型 

objChart.Type=OWC.ChartChartTypeEnum.chChartTypeColumnClustered; 

objChart.HasLegend=true; 

//图表标题 

objChart.I-IasTilfe=true; 

objChart.Tilte.Caption=“海南大田国家级自然保护区鸟类考”; 

//显示系列的字面数据 

string strSefiesName=“系列l”; 

string strCategory=“稀有种”+‘\t’+“常见种”+‘\t’+“优势种”+‘\t’; 

string strValue=“55"+‘\t’+“28"+‘\t’+“8"+‘\t’: 

objChart.SefiesCollection.Add(O); 

objChart.SeifesCollection[0].SetData(OWC.ChartDimensionsEnum.chDimSeriesNames, 

(int)OWC.ChartSpecialDataSourcesEnum.chDataLiteral,strSeriesName); 

objChart.SeifesCollecfion[0].SetData(OWC.ChartDimensionsEnum.chDimCategories, 

(int)OWC.ChartSpecialDataSourcesEnum.chDataLiteral,strCategory); 

objChart.SeriesCollection[0].SetData(OWC.ChartDimensionsEnum.chDimValues, 

(int)OWC.ChartSpecialDataSourcesEnum.chDataLiteral,strValue); 

//输出GIF的图表 

string strAbsolutePath=(Server.MapPath(“.”))+“\TempFiles\someiflename.gif’; 

objCSpace.ExportPicture(strAbsolutePath,“GIF”,600,350); 

//建立GIF文件相对路径 

string strRelativePath=“./TempFiles/somefilename.gif’; 

//将图表添加到placeholder 

string strlmageTag=“<IMG SRC=”+strRelativePath+“/>”: 

ChartHolder.Controls.Add(new LiteralControl(strImageTag)); 

加载网页可在浏览器中看到所编制的图表如图1. 

如果创建图表所使用的数据来源是数据库,在ASP.NET中通过使用ADO.Net的DataSet,将数据转换成 

为字面数据序列方可,具体代码如下: 

,,从xml数据创建所需字符串 

strValue+=(nodes.Item(i).ChildNodes.Item(0).InnerText+‘\t’); 

strCategory+=(nodes.Item(i).ChildNodes.Item(1).InnerText+‘\t’); 

维普资讯

128 湛江师范学院学报(自然科学) 第27卷 

这样就可以得到与数据库数据相应的图表. 

60 

3结束语 

ASP.Net是微软公司发展的新的体系结构Microosft.Net 

的一部分,是一种编译型的编程框架,运行效率高,支持多 

种语言.在ASP.Net中直接用C#编写代码调用OWC组件, 

创建OWC动态图表,其编程简单,而且OWC图表可以完全 

按照用户的使用要求创建.由于支持元数据和XML,还可开 

发与平台无关的Web应用系统,而且通过使用ADO.Net,可 

将数据库中的数据作为图表数据来创建图表. 

参考文献: 

[1]Microsoft.白皮书[EB/OL].(20o4—01).http:Ilwww.micn ̄ft.com/china/Net/whit ̄

50 

40 

30 

20 

l0 

0 

. . 

圆 

稀有种 常见种 优势种 

图l海南大田国家级自然保护区鸟类资源状况 

.asp. 

[2]BretHem.Chartingwith Ofllcew曲Components(OWC)[EB/OL].(2OO6—06).http:Ilwww.4 ̄fromm[h.condwebtech/022101—1.2.shtm1. 

[3]青苹果工作室.(:Sharp深入浅出全接触[EB/OL].(2O04—02).http:Ilicnw.m ce.corII,yy}lc,(:sharpszcc.htm. 

[4]s ,Rick.Using the Office Web Components to create dyna ̄c charts[EB/OL].(2oo4—0 一l8).www.west—wind.con ̄pmscntatiom/OWCChart ̄ 

OWCCharting.asp. 

Creating OWC Charts in ASP.Net Web Applications Using C# 

KONG Yi-quan,LIAN Jin-ping,WANG耽咖 

(School of Information Science,Zhanjiang Normal College,Zhanjiang,Guangdong 524048,China) 

Abstract:Charts and graphs can add dramatic visual impact to applications.especially in Web apphcafions.Creat— 

ing dy ̄mlc graphs in Web applications generally requiIes third party tools that have the ability to create graphs dynami— 

cany.A simple and inexpensive way to do this is using the Office Web Components(OWC).In this article we will show 

how to use the OWC to display data as graphs in Web pages,and how to implement OWC Charts in ASP.Net using C#. 

we also compare some tools each other in it. 

Key words:OWC:chart;ASP.NET;C撑 


本文标签: 数据 图表 使用 创建 组件