发新话题
打印

如何在ASP.NET中用OWC绘制图表(1)

如何在ASP.NET中用OWC绘制图表(1)

  如何在ASP.NET中用OWC绘制图表 (1)

一、概述

二、设置图表引擎

三、OWC的许可证问题

四、OWC的运行机制

五、在Web服务器上安装OWC 10

六、OWC编程模式

━━━━━━━━━━━━━

正文:

━━━━━━━━━━━━━

一、概述

在开发应用程序时,经常会遇到必须提供交互式图表的情况。例如,你可能在开发一个管理销售和产品数据的应用程序,数据保存在SQL Server数据库上,应用程序允许用户添加数据、更新现有数据,但除了这些功能之外,客户还要求应用程序能够用饼图、柱形图或XY散点图的形式直观地描述数据。

在Windows桌面应用程序中,这类要求从来不成为问题,可供选用的图形库和绘图组件实在太多了。但对于Web应用程序,问题就变得复杂多了。要在Web应用中绘制图表,可供选择的办法包括:

■ 客户端:

利用各种ActiveX组件,Web浏览器内完全有可能达到“丰富”Windows客户程序那样的功能。缺点是客户端的设置复杂化,要求发布客户端软件,通常按照每客户端的方式计算许可证费用。另外,非MS Windows/IE的客户端一般难以运行。

■ 服务器端:

利用Web服务器上运行的服务器端代码,动态地生成图表,然后以GIF或JPG图形的形式发送给客户端。这种办法的优点是,客户端只需要一个标准的浏览器。与客户端技术相比的缺点是,图形的交互能力差(除非向服务器提交新的请求,否则就不能缩放、滚动)。许多地图网站(例如Mapquest.com)大量地运用了这一技术。注意,地图图形不是保存在Web服务器上,而是用户发出一个请求时动态从地图数据库生成。

本文主要讨论如何利用服务器端的图表绘制技术在ASP.NET Web页面中提供图形功能,具体地说,本文分析了如何利用MS SQL数据库中保存的数据生成一个散点图。

二、设置图表引擎

如果要在ASP.NET应用程序中绘制图表,必须要有一个合适的图表引擎。ASP.NET有一个内建的图形工具库,即System.Drawing名称空间的GDI ,可以用来创建简单的饼图、柱形图、折线图等,不过它属于低级的API,算不上绘制图表的引擎,特别是不适合绘制复杂的图表。

ASP.NET环境下还有许多商业化的图表绘制代码库,随便搜索一下Google,就可以找到:

Mycos Charts .NET Web Forms Edition

Dundas Chart for ASP.NET

.netCHARTING

Charting Controls at the ASP.NET Control Gallery

不过,许多产品都相当昂贵,而且与世界上应用最广泛的图表绘制工具——Excel相比,不免给人以陌生的感觉。MS Excel是一个相当强大的图表引擎,支持的图表类型非常丰富,而且提供了完备的图表布局调整功能。

正因为如此,所以本文要讨论的主角是OWC,即office Web Components,或者“office Web组件”。按照微软的定义,OWC是一种“将类似office的功能扩展到Web的微软技术”。它可以在客户端使用,例如我们将Excel工作表保存为Web页面时就要用到,利用它可以方便地将交互式电子表格和图表发布到Web页面。同时,OWC也是一个优秀的服务器端图表引擎,具有与MS Excel同样强大的图表绘制能力。

三、OWC的许可证问题

如果你曾经用过版本较早的OWC,可能已经遇到过微软的许可证问题。以前这个问题相当令人烦恼,微软不仅要求服务器上必须有office许可证,而且每一台客户PC上也同样要有。

实际上,这相当于将OWC的用途局限到了Intranet之内,只有Intranet之内才可以保证客户PC上都安装了office许可证。不过现在微软的态度有所放缓——服务器上仍旧要安装office许可证,但只要图表是“非交互式”用途,例如本文的服务器端图表绘制,客户端就不必再装office许可证。实际上,就连服务器端也不必安装完整的office许可证,Excel 2002或FrontPage 2002的许可证就已足够,从而使OWC变成了价廉物美的服务器端图表引擎。

那么,在服务器上安装MS office?不,没有必要。虽然从许可证条件看,OWC应该是office的一部分,但从技术上说,OWC是一个独立的产品。Web服务器上只需安装OWC软件包,不必安装整个office。

OWC首次出现于office 2000,即OWC 9.0。在office XP中,OWC的编程模式已作了修改,这使得OWC XP(也就是OWC 10)不能与OWC 9.0完全兼容。OWC 10要求在ASP.NET环境中运行,所以OWC 10软件包必须安装到ASP.NET服务器上。

接下来,很自然的一个问题是:哪里可以下载OWC 10软件包?令人惊奇的是,它可以从微软的网站免费下载,地址是http://office.microsoft.com/downloads/2002/owc10.ASPx,
(中文地址:http://www.microsoft.com/downloads/details.ASPx?displaylang=zh-cn

TOP

发新话题