ASP中利用OWC控件实现图表功能详解

在ASP中利用OWC(OfficeWebComponents)控件可轻松实现各种图表功能,如饼图,簇状柱型图,折线图等。
在下面的代码中我详细的给出了饼图,簇状柱型图,折线图的使用方法。OWC的更多功能,属性可参加MSOWCVBA.chm帮助文件(在office2000的文件夹下大家自己找)。

testOWC.asp

< !DOCTYPEHTML PUBLIC " -//W3C//DTDHTML4.01Transitional//EN " >
< html >
< head >
< metahttp - equiv = " Content-Type " content = " text/html;charset=gb2312 " >
< title > ASP中利用OWC控件实现图表功能详解 </ title >
</ head >
< body >
< %
' 下面测试的是一个产品销量图
MX1 = " A产品,B产品,C产品,D产品 " ' 数据项目名数组(给出测试数据,实际用的时候从数据库读取用","分隔)
MX2 = " 50,60,20,80 " ' 数据项目值数组
Datestr = " 2005-3-24,2005-3-25,2005-3-26,2005-3-27,2005-3-28 " ' 日期
SQARXLstr = " 50,100,20,80,89 " ' A产品2005-3-24至2005-3-28的销量
SQARXLstr = SQARXLstr & " , " & " 40,60,20,90,70 " ' B产品2005-3-24至2005-3-28的销量
SQARXLstr = SQARXLstr & " , " & " 20,50,55,25,60 " ' C产品2005-3-24至2005-3-28的销量
SQARXLstr = SQARXLstr & " , " & " 80,20,75,58,100 " ' D产品2005-3-24至2005-3-28的销量
% >
< br >
< center >< object id = " ChartSpace1 " classid = " CLSID:0002E500-0000-0000-C000-000000000046 " style = " width:95%;height:400 " ></ object ></ center >
< br >
< center >< object id = " ChartSpace2 " classid = " CLSID:0002E500-0000-0000-C000-000000000046 " style = " width:95%;height:400 " ></ object ></ center >
< br >
< center >< object id = " ChartSpace3 " classid = " CLSID:0002E500-0000-0000-C000-000000000046 " style = " width:95%;height:400 " ></ object ></ center >

< scriptlanguage = " vbscript " >
Sub Window_OnLoad()
' ------------------饼图-------------------------------------------------------------
'
为数据赋值
categories = split ( " <%=MX1%> " , " , " ) ' 数据项目名数组
values = split ( " <%=MX2%> " , " , " ) ' 数据项目值数组

Set cht = ChartSpace1.Charts.Add ' 添加一个图标对象
Set c = ChartSpace1.Constants ' 返回一个对象,此对象允许脚本用户使用已命名的常量。
cht.Type = c.chChartTypePie ' 设置图表类型为饼图

' -------设置图表标题----------------------------------------
ChartSpace1.HasChartSpaceTitle = True ' 指定图表工作区中包含标题
ChartSpace1.ChartSpaceTitle.Caption = " 饼状图 " ' 设置图表工作区标题内容
'
有关字体的设置
ChartSpace1.ChartSpaceTitle.Font.Bold = True ' 设置图表工作区标题内容是否粗体
ChartSpace1.ChartSpaceTitle.Font.Color = " blue " ' 设置图表工作区标题的颜色
ChartSpace1.ChartSpaceTitle.Font.Italic = False ' 设置图表工作区标题是否为斜体
ChartSpace1.ChartSpaceTitle.Font.Name = " 隶书 " ' 设置图表工作区标题内容的字体
ChartSpace1.ChartSpaceTitle.Font.Size = 18 ' 设置图表工作区标题内容的大小(单位:磅)
ChartSpace1.ChartSpaceTitle.Font.Underline = c.owcUnderlineStyleSingle ' 设置下划线属性

' -------设置图例--------------------------------------------
cht.HasLegend = True ' 指定图表工作区中含有图例
cht.Legend.Font.Size = 9 ' 其他有关字体项的设置参见设置图表标题部分
cht.Legend.Position = c.chLegendPositionRight ' 设置图例对其方式

cht.SetDatac.chDimCategories,c.chDataLiteral,categories
cht.SeriesCollection(
0 ).SetDatac.chDimValues,c.chDataLiteral,values

Set dl = cht.SeriesCollection( 0 ).DataLabelsCollection.Add ' 添加图例的数据标记
dl.HasValue = False
dl.HasPercentage
= True
dl.Font.Size
= 11
' ------------------饼图(结束)------------------------------------------------

' ------------------簇状柱型图(开始)--------------------------------------
Set cht = ChartSpace2.Charts.Add ' 添加一个图标对象
Set c = ChartSpace2.Constants ' 返回一个对象,此对象允许脚本用户使用已命名的常量。
cht.Type = c.chChartTypeColumnClustered ' 设置图表类型为折线图
'
-------设置图表标题----------------------------------------
ChartSpace2.HasChartSpaceTitle = True ' 指定图表工作区中包含标题
ChartSpace2.ChartSpaceTitle.Caption = " 柱状图 " ' 设置图表工作区标题内容
'
有关字体的设置
ChartSpace2.ChartSpaceTitle.Font.Bold = True ' 设置图表工作区标题内容是否粗体
ChartSpace2.ChartSpaceTitle.Font.Color = " blue " ' 设置图表工作区标题的颜色
ChartSpace2.ChartSpaceTitle.Font.Italic = False ' 设置图表工作区标题是否为斜体
ChartSpace2.ChartSpaceTitle.Font.Name = " 隶书 " ' 设置图表工作区标题内容的字体
ChartSpace2.ChartSpaceTitle.Font.Size = 18 ' 设置图表工作区标题内容的大小(单位:磅)
ChartSpace2.ChartSpaceTitle.Font.Underline = c.owcUnderlineStyleSingle ' 设置下划线属性

cht.SetDatac.chDimCategories,c.chDataLiteral,categories
' 横项(分类轴)
cht.SeriesCollection( 0 ).SetDatac.chDimValues,c.chDataLiteral,values
Set dl = cht.SeriesCollection( 0 ).DataLabelsCollection.Add ' 添加图例的数据标记
dl.HasValue = True
dl.HasPercentage
= False
dl.Font.Size
= 9
dl.Font.Color
= " red"
dl.Position = c.chLegendPositionRight

' 设置纵向数值属性
Set categoryAxis = cht.Axes(c.chAxisPositionBottom)
categoryAxis.Font.Size
= 9
' 设置分类组属性
Set categoryAxis = cht.Axes(c.chAxisPositionLeft)
categoryAxis.Font.Size
= 9
' ------------------簇状柱型图(结束)--------------------------------------

' ------------------折线图----------------------------------------------------------
SParr = split ( " <%=MX1%> " , " , " )
Datearr
= split ( " <%=Datestr%> " , " , " )

Set cht = ChartSpace3.Charts.Add ' 添加一个图标对象
Set c = ChartSpace3.Constants ' 返回一个对象,此对象允许脚本用户使用已命名的常量。
cht.Type = c.chChartTypeLineMarkers ' 设置图表类型为折线图

' -------设置图表标题----------------------------------------
ChartSpace3.HasChartSpaceTitle = True ' 指定图表工作区中包含标题
ChartSpace3.ChartSpaceTitle.Caption = " 日销量折线图 " ' 设置图表工作区标题内容
'
有关字体的设置
ChartSpace3.ChartSpaceTitle.Font.Bold = True ' 设置图表工作区标题内容是否粗体
ChartSpace3.ChartSpaceTitle.Font.Color = " blue " ' 设置图表工作区标题的颜色
ChartSpace3.ChartSpaceTitle.Font.Italic = False ' 设置图表工作区标题是否为斜体
ChartSpace3.ChartSpaceTitle.Font.Name = " 隶书 " ' 设置图表工作区标题内容的字体
ChartSpace3.ChartSpaceTitle.Font.Size = 18 ' 设置图表工作区标题内容的大小(单位:磅)
ChartSpace3.ChartSpaceTitle.Font.Underline = c.owcUnderlineStyleSingle ' 设置下划线属性

' -------设置图例--------------------------------------------
cht.HasLegend = True ' 指定图表工作区中含有图例
cht.Legend.Font.Size = 9 ' 其他有关字体项的设置参见设置图表标题部分
cht.Legend.Position = c.chLegendPositionBottom ' 设置图例对其方式

cht.SetDatac.chDimSeriesNames,c.chDataLiteral,SParr
' 系列
cht.SetDatac.chDimCategories,c.chDataLiteral,Datearr ' 横项(分类轴)

' 设置纵向数值属性
Set categoryAxis = cht.Axes(c.chAxisPositionBottom)
categoryAxis.Font.Size
= 9

' 设置分类组属性
Set categoryAxis = cht.Axes(c.chAxisPositionLeft)
categoryAxis.Font.Size
= 9

values
= split ( " <%=SQARXLstr%> " , " , " )
for i = 0 to ubound (SParr)
valuetemp
= " "
for j = i * ( ubound (Datearr) + 1 ) to (i + 1 ) * ( ubound (Datearr) + 1 ) - 1 ' 按天读取数据
valuetemp = valuetemp & " , " & values(j)
next
valuearr
= split ( mid (valuetemp, 2 ), " , " )
cht.SeriesCollection(i).SetDatac.chDimValues,c.chDataLiteral,valuearr
Set dl = cht.SeriesCollection(i).DataLabelsCollection.Add ' 添加图例的数据标记
dl.HasValue = True
dl.HasPercentage
= False
dl.Font.Size
= 9
next
' ------------------折线图(结束)---------------------------------------------------
EndSub
</ script >
</ body >
</ html >

转自: http://www.5iuu.com/blogview.asp?logID=1949
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值