OWC介绍

news/2024/7/21 5:40:32 标签: Office, Web, Excel, Microsoft, VBA

OWC介绍:
Microsoft Office 2000中包含有一组称为OWC的新控件集合。利用这些组件,可以在WEB浏览器以及其他传统的编程环境下创建许多有用的数据分析解决方案与报表生成解决方案。

Office Web Component是一组COM(Component Object Model:组件对象模型)控件的集合,用于为多种控件容器提供交互式的电子数据表模型、数据库报表与数据可视化服务。

OWC库中包含四个主要组件:Spreadsheet(电子数据表)组件、Chart(图表)组件、PivotTable(数据透视表)组件、Data Source(数据源)组件。

Office Web Components的非凡之处在于它们可以在诸如Web页面、Visual Basic表单等的控件容器中使用,也可在内存中作为不可见对象使用。大多数COM控件只能在控件容器中作为可视控件使用,而大多数不可见对象则只能在内存中使用,而不能放入表单中或Web页面中。OWC库中的组件可以以以上两种方式被使用,从而使得用户可以以界面方式引用控件,或者使控件为其提供基本服务。以不可见对象方式使用组件的能力也可以方便的在服务器上使用这个库,从而轻易的产生在任何Web浏览器上查看静态内容。

OWC中的所有控件都支持丰富的编程接口集合,使得开发者可以通过Microsoft VBScript、Microsoft Jscript、Microsoft VBA、Java、C++与任何其他可调用双向或快速COM接口的语言来调用这些控件。

Chart组件:
Chart组件是一个由开发Microsoft Excel 2000中图表制作的开发人员创建的一个COM控件。它能以屏幕上COM控件与内存中GIF生成引擎两种方式提供基本的商业图表制作方法。

在OWC9中,Chart控件除支持Excel中的所有二维图表类型(Contour类型除外)外,还支持Polar型、Stacked Pie型、Filled Scatter型的图表。但是不包含对任何三维图表类型或效果的支持。

Office2000提供的Office Web Component的版本为9.0(OWC9)

OfficeXP提供的Office Web Component的版本为10.0(OWC10)

在以后的系列教程中,我们以sqlserver中的northwind数据库为例子,深入浅出的来介绍MS OWC,所有的例子直接可以运行。

我们通过一个例子来展现owc的强大功能.

CHART.ASP程序。

<% Option Explicit %>

<!--#include file="adovbs.inc"-->

<HTML>

<HEAD>

<TITLE>利用MS office web component打造精品图表</TITLE>

<%

Function ExportChartToGIF(objCSpace, strAbsFilePath, strRelFilePath)

Dim strFileName

Randomize

strFileName = Timer & Rnd & ".gif"

objCSpace.ExportPicture strAbsFilePath & "" & strFileName, "gif", 650, 400

ExportChartToGIF = strRelFilePath & "/" & strFileName

End Function

Sub CleanUpGIF(GIFpath)

Dim objFS

Dim objFolder

Dim gif

set objFS = Server.CreateObject("Scripting.FileSystemObject")

set objFolder = objFS.GetFolder(GIFpath)

for each gif in objFolder.Files

if instr(gif.Name, ".gif") > 0 and DateDiff("n", gif.DateLastModified, now) > 10 then

objFS.DeleteFile GIFpath & "" & gif.Name, True

end if

next

set objFolder = nothing

set objFS = nothing

End Sub

%>

</HEAD>

<BODY BGCOLOR="#FFFFFF">

<div align="center">

<br>

<br>

<%

dim objChartSpace

dim objChart

dim objSeries

dim objConn

dim objRS

dim c

dim series

dim strChartAbsPath

dim strChartRelPath

dim strChartFile

dim axis

dim fnt

dim ax

strChartAbsPath = Server.MapPath(".")

strChartRelPath = Server.MapPath(".")

'设置组件

'使用了owc9,也就是office 2000中带的

set objChartSpace = Server.CreateObject("OWC.Chart.9")

set objChart = objChartSpace.Charts.Add

set c = objChartSpace.Constants

'图形边框颜色

objchart.Border.Color="red"

'以柱状图显示

objchart.type=1

objChart.HasLegend = True'是否显示图例

objChart.HasTitle=true '显示标题

objChart.Title.Caption ="利用office web component打造精品图表(www.ourfly.com中文技术网站)"

set fnt=objchart.title.font

fnt.name="宋体"

fnt.size=12

fnt.bold=true

fnt.color="red"

set objConn = Server.CreateObject("ADODB.Connection")

objConn.Open "provider=SQLOLEDB; Data Source=yang; Initial Catalog=northwind; User Id=sa; Password="

set objRS = Server.CreateObject("ADODB.Recordset")

set objRS.ActiveConnection = objConn

objRS.CursorType = adOpenStatic

objRS.CursorLocation = adUseClient

'统计每种供应货物的数量有多少

objRS.Open "select count(productname) as col,CategoryName from products,categories whereproducts.categoryid=categories.categoryid group by categoryname"

set objChartSpace.DataSource = objRS

'显示图例内容

objChart.SetData c.chDimSeriesNames, 0, "CategoryName"

for each objSeries in objChart.SeriesCollection

objSeries.SetData c.chDimCategories, 0, "CategoryName"

objSeries.SetData c.chDimValues, 0, "col"

next

set ax=objChart.Axes(c.chAxisPositionBottom)

ax.hastitle=true

ax.Title.Caption = "种类"

set fnt=ax.title.font

fnt.name="宋体"

fnt.size=15

fnt.bold=true

fnt.color="blue"

set ax=objChart.Axes(c.chCategoryAxis)

ax.hastitle=true

ax.Title.Caption = "数量"

set fnt=ax.title.font

fnt.name="宋体"

fnt.size=15

fnt.bold=true

fnt.color="green"

strChartFile = ExportChartToGIF(objChartSpace, strChartAbsPath, strChartRelPath)

Response.Write "<IMG SRC=""" & strChartFile & """>" & "<P>"

CleanUpGIF strChartAbsPath

objRS.Close

set objRS = nothing

set objConn = nothing

set objSeries = nothing

set objChart = nothing

set objChartSpace = nothing

%>

</div>

</BODY>

</HTML>

使用这个组件的注意事项:
1。在office2000的光盘上,有一个msowc.msi的可执行文件.OK
2。建议大家用visual interdev6.0开发,代码的自动提示功能此时会发挥出极大的作用。


http://www.niftyadmin.cn/n/609869.html

相关文章

PHP程序常见漏洞攻击

[全局变量] PHP 中的变量不需要事先声明&#xff0c;它们会在第一次使用时自动创建&#xff0c;它们的类型也不需要指定&#xff0c;它们会根据上下文环境自动确定。从程序员的角度来看&#xff0c;这无疑是一种极其 方便的处理方法。很显然&#xff0c;这也是快速开发语言的一…

rsync+inotify介绍

目录rsync远程同步搭建rsync搭建inotifyrsync远程同步 rsync远程同步是一款主要为快速增量备份的工具&#xff1b;可以用于本地的复制&#xff0c;也可以用户跨主机(ssh/rsync主机同步)之间的复制&#xff1b;官网&#xff1a;https://rsync.samba.org/ 搭建rsync 配置rsync…

如何缩小SQL SERVER日志文件

如何缩小SQL SERVER日志文件文章来源&#xff1a;岚山夜话HTTP://WWW.33D9.COM前几天也碰到日志文件过大的问题&#xff0c;数据库实际大小为600M,日志文件实际大小为33M,但日志文件占用空间为2.8G!!!试了多种方式&#xff0c;SHIRNKDATABASE&#xff0c;TRUNCATELOGFILE,都没办…

openstack简单介绍

目录openstack概述openstack的优势openstack的八个基础服务opentack架构介绍概念架构逻辑架构openstack环境搭建基础环境配置系统环境配置openstack概述 OpenStack 是一系列开源工具&#xff08;或开源项目&#xff09;的组合&#xff0c;主要使用池化虚拟资源来构建和管理私有…

创建rabbitmq用户报错Error: unable to connect to node rabbit@localhost: nodedown

问题描述 启动rabbitmq后创建用户显示无法连接该节点&#xff0c;该节点down了。 解决方法 杀掉rabbitmq&#xff0c;然后重启 [rootct ~]# ps aux |grep rabbitmq |grep -v grep |awk {print $2} |xargs kill -9rabbitmq-server -detached 启动rabbitmq rabbitmqctl stat…

openstack(T版):keystone认证

这目录keystone身份认证服务keystone的主要功能keystone的管理对象keystone认证流程keystone服务的部署keystone身份认证服务 Keystone (OpenStack ldentity Service&#xff09;是OpenStack中的一个独立的提供安全认证的模块&#xff0c;主要负责openstack用户的身份认证、令…

嵌套查询经典案例

嵌套查询经典案例&#xff01;&#xff01;文章来源&#xff1a;岚山夜话HTTP://WWW.33D9.COMselect [UserName],(select count(*) from company where ComidT1.UserName) as 招聘站,(select count(*) from TrainOrg where OrgIDT1.UserName) as 培训机构,(select count(*) fro…

openstack(T版):glance镜像服务

glance镜像服务介绍 它在OpenStack中的项目名称为glance&#xff0c;在早期的OpenStack版本中,Glance只有管理镜像的功能&#xff0c;并不具备镜像存储功能。现在&#xff0c;Glance已发展成为集镜像上传、检索、管理和存储等多种功能的OpenStack核心服务。 镜像的英文为Image…