`
happmaoo
  • 浏览: 4472493 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

利用office web component打造精品图表

阅读更多
function StorePage() { d=document; t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():''); void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes')); keyit.focus(); }

大家在编写ASP程序的时候,可能要对各
种指标以图形的方式显示出来。如果仅仅
是柱状图,可以采用画表格的方法。许多投票
程序多采用这种方法。如果是饼状图或从数据
库中检索数据后再显示,就有些困难了.办法
也有,自己可以封装excel来完成上述功能,或
者用deiphi做一个activeform传入参数,或者用php
来写,java也可以。当然,用一个比较成熟的图形
组件来完成更好一些。microsoftofficeweb
compoent非常不错。我在开发一个项目的时
候,用到了这个组件。

CHART.ASP程序。

<%OptionExplicit%>
<!--#includefile="adovbs.inc"-->
<HTML>
<HEAD>
<TITLE>柱状图的例子</TITLE>
<%
FunctionExportChartToGIF(objCSpace,strAbsFilePath,strRelFilePath)
DimstrFileName
Randomize
strFileName=Timer&Rnd&".gif"
objCSpace.ExportPicturestrAbsFilePath
&"\"&strFileName,"gif",650,400
ExportChartToGIF=strRelFilePath
&"/"&strFileName
EndFunction

SubCleanUpGIF(GIFpath)
DimobjFS
DimobjFolder
Dimgif
setobjFS=Server.CreateObject("Scripting.FileSystemObject")
setobjFolder=objFS.GetFolder(GIFpath)
foreachgifinobjFolder.Files
ifinstr(gif.Name,".gif")>0and
DateDiff("n",gif.DateLastModified,now)>10then
objFS.DeleteFileGIFpath&"\"&gif.Name,True
endif
next
setobjFolder=nothing
setobjFS=nothing
EndSub

%>
</HEAD>
<BODYBGCOLOR="#FFFFFF">
<divalign="center">
<br>
<br>
<%
dimsj1,sj2
sj1=Request.QueryString("s1")
sj2=Request.QueryString("s2")

dimobjChartSpace
dimobjChart
dimobjSeries
dimobjConn
dimobjRS
dimc
dimseries
dimstrChartAbsPath
dimstrChartRelPath
dimstrChartFile
dimaxis

strChartAbsPath=Server.MapPath("/xjsi-web/dcss/chart")
strChartRelPath="/xjsi-web/dcss/chart"
'设置组件

setobjChartSpace=Server.CreateObject("OWC.Chart")
setobjChart=objChartSpace.Charts.Add
setc=objChartSpace.Constants

objChartSpace.Border.Color="red"
'以柱状图显示
objchart.type=1
objChart.HasLegend=True'是否显示图例
objChartSpace.HasChartSpaceTitle=true'显示标题
objChartSpace.ChartSpaceTitle.Caption="柱状图的例子使用officeweb组件--www.ourfly.com中文技术网站"
setobjConn=Server.CreateObject("ADODB.Connection")
objConn.Openapplication("strconn")
setobjRS=Server.CreateObject("ADODB.Recordset")
setobjRS.ActiveConnection=objConn
objRS.CursorType=adOpenStatic
objRS.CursorLocation=adUseClient
objRS.Open"selectdwsj,sum(jfrs)asjfrs
fromdcss_do_jfgcfxbwheredwsj>='"&sj1&"'
anddwsj<'"&sj2&"'
groupbydwsjorderbydwsjasc"

setobjChartSpace.DataSource=objRS
'显示图例内容
objChart.SetDatac.chDimSeriesNames,0,"jfrs"
foreachobjSeriesinobjChart.SeriesCollection
objSeries.SetDatac.chDimCategories,0,"dwsj"
objSeries.SetDatac.chDimValues,0,"jfrs"
next

foreachaxisinobjChart.Axes
axis.HasTitle=True
ifaxis.Type=c.chCategoryAxisthen
axis.Title.Caption="月份"
else
axis.Title.Caption="人数"
endif
next

strChartFile=ExportChartToGIF(objChartSpace,strChartAbsPath,strChartRelPath)
Response.Write"<IMGSRC="""&strChartFile&""">"&"<P>"
CleanUpGIFstrChartAbsPath

objRS.Close
setobjRS=nothing
setobjConn=nothing
setobjSeries=nothing
setobjChart=nothing
setobjChartSpace=nothing
%>
</div>
</BODY>
</HTML>
使用这个组件的注意事项:
1。在office2000的光盘上,有一个msowc.msi的可执行文件.OK
2。建议大家用visualinterdev6.0开发,代码的自动提示功能此时会发挥出极大的作用。

效果图如下:

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 VBScriptMicrosoft JscriptMicrosoft VBAJavaC++与任何其他可调用双向或快速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)

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

在以后的系列教程中,我们以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
。建议大家用visualinterdev6.0开发,代码的自动提示功能
此时会发挥出极大的作用。


效果图如下:


分享到:
评论

相关推荐

    Microsoft Office 2003 Web Component(OWC)

    OWC11.exe是这些组件的安装程序,它包含了Excel、Word、PowerPoint和Access的Web组件,允许开发者在网页中创建交互式的表格、图表、幻灯片和数据库视图,无需用户在本地机器上安装完整的Office软件。 在.NET框架中...

    asp.net中如何使用office web component

    在ASP.NET中,Office Web Components(OWC)是一组可以嵌入到网页中的控件,允许用户在浏览器中查看和编辑Microsoft Office文档,如Excel图表、Word文档和PowerPoint幻灯片。OWC使得开发人员能够在Web应用中利用...

    Asp Net中如何使用office Web Component

    在ASP.NET中,Office Web Components (OWC) 是一组用于在Web应用程序中嵌入Microsoft Office功能的组件,如Excel图表、Word文档等。这些组件允许开发者在网页上展示与Office应用相似的数据处理和可视化效果,而无需...

    Office Web Components-MSOWC组件

    Office Web Components是一组的COM控件,设计的目的是为众多的控件容器提供交互的电子表格建模,数据报表和数据可视化功能。OWC库包含四个主要的组件:电子表格组件,图表组件,透视表组件和数据源组件。

    Microsort Office 2000Web Components编程技术内幕

    这些组件包括Excel Web Component、Word Web Component和PowerPoint Web Component,它们提供了与Office应用类似的界面和操作方式。 二、Excel Web Component Excel Web Component允许在网页中展示和编辑Excel表格...

    Office+2003组件owc11

    3. **控件交互**:OWC11提供了多种Web控件,如电子表格、图表、数据库等,可以在网页或Java应用中嵌入,用户可以直接在这些控件中进行操作,而无需启动完整的Office应用程序。 4. **权限管理**:OWC11允许开发者...

    Microsoft_Office_2000_Web_Components组件参考手册,wdl格式,学习OWC编程开发的参考资料

    总结来说,Microsoft Office 2000 Web Components是面向Web开发者的强大工具,它们利用WDL文件进行配置,使得在网页中集成Office功能成为可能。通过深入学习OWC和WDL,你可以创建出具有丰富交互性的Web应用,提升...

    office2000webcomponents

    - **Chart Web Component**:用于在网页中创建和展示各种图表,如柱状图、饼图、折线图等。 2. **技术基础**: - **ActiveX**:Office 2000 Web Components基于ActiveX技术,这是一种由微软开发的组件对象模型...

    Microsoft_Office_2000_Web_Components程序开发指南,html格式,中文版,学习OWC组件编程的好资料

    《Microsoft Office 2000 Web Components程序开发指南》是一本专为开发者设计的中文教程,旨在帮助读者掌握如何利用OWC(Office Web Components)进行Web应用的开发。OWC是微软在Office 2000中引入的一套组件,它...

    ComponentOne例子教程

    首先,ComponentOne提供了一系列的Windows Forms和WPF控件,包括图表、网格、报表、日历、按钮等,这些控件都具有高度可定制性,能够满足各种复杂的界面设计需求。在Vista界面设计中,ComponentOne的Ribbon控件是...

    office2003 owc11

    Office 2003 OWC11,全称为Office Web Components 2003版本11,是一款由微软公司推出的组件对象模型(Component Object Model,简称COM)控件集。这个组件主要目的是为了帮助用户在网页上实现与Microsoft Office应用...

    TMS Component Pack 5.2.2.0(支持delphi7.0)

    此外,TMS Component Pack 5.2.2.0版本对Delphi 7.0的完美兼容性,意味着开发者可以在不升级开发环境的情况下,充分利用这些高级组件的优点,这对于那些仍依赖于Delphi 7.0的项目来说无疑是一大福音。 值得注意的是...

    ASP.NET用OWC绘图控件实现统计图表代码

    这通常涉及到创建一个`Microsoft.Office.WebComponent.Chart`对象,设置其属性如`SeriesCollection`、`ChartType`、`Title`等,并将其附加到OWC控件上: ```csharp protected void Page_Load(object sender, ...

    微软OWC(web office com)使用方法

    通过OWC,用户能够利用Office的核心功能,如电子表格处理、图表生成、数据透视表等功能,并将这些功能集成到Web应用程序中。 #### 二、OWC的主要组件 OWC包含了以下几个关键组件: 1. **Spreadsheet(电子数据表...

    ComponentOne 2008.2 SN

    根据提供的文件信息,“ComponentOne 2008.2 SN”这一标题以及“ComponentOne 2008.2 绝对可用”的描述,我们可以推断出这些信息可能与ComponentOne 2008.2版本软件的序列号(SN)相关联。接下来将详细介绍Component...

    office.ocx控件

    Office.ocx控件是Microsoft Office套件中的一种ActiveX组件,它允许...然而,随着技术的发展,现代的开发方案可能更倾向于使用.NET Framework、.NET Core或Web服务接口来实现与Office的交互,以提高兼容性和安全性。

    TMS Component Pack9.0.3.0(2019-1-29).rar

    TMS Ribbon Component Suite则提供了Microsoft Office风格的Ribbon界面,使应用程序看起来更加专业;还有TMS DockingPanels,它允许用户自定义窗口布局,提高工作区的灵活性。 二、数据处理组件 在数据处理方面,...

    TMS Component pack v4.8.0.8

    此外,TMS Component Pack还包括图表、报表、图像处理、PDF生成等领域的组件。例如,TChart提供了丰富的图表类型,如折线图、柱状图、饼图等,适用于数据分析和可视化。TReport组件则支持自定义布局和打印,方便开发...

    c#中读写office工具

    using Microsoft.Office.WebComponent; // 创建OWC11 Application对象 Spreadsheets spreadsheetApp = new Spreadsheets(); // 添加新的Spreadsheet Spreadsheet spreadsheet = spreadsheetApp.Spreadsheets.Add()...

    TMS-Component-Pack for D7~10 Saettle

    【TMS组件包在Delphi 7到10中的应用】 TMS Component Pack是一款由TMS Software公司开发的全面的组件库,适用于...在安装了"TMS-Component-Pack-8.0.4.0"压缩包后,开发者便可以立即体验并利用这些组件带来的便利。

Global site tag (gtag.js) - Google Analytics