ASP中利用OWC控件实现图表功能详解[zz]
生活随笔
收集整理的這篇文章主要介紹了
ASP中利用OWC控件实现图表功能详解[zz]
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
ASP中利用OWC控件實(shí)現(xiàn)圖表功能詳解
在ASP中利用OWC(Office?Web?Components)控件可輕松實(shí)現(xiàn)各種圖表功能,如餅圖,簇狀柱型圖,折線圖等。在下面的代碼中我詳細(xì)的給出了餅圖,簇狀柱型圖,折線圖的使用方法。OWC的更多功能,屬性可參加MSOWCVBA.chm幫助文件(在office?2000的文件夾下大家自己找)。
testOWC.asp
<!DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN">
<html>
<head>
<meta?http-equiv="Content-Type"?content="text/html;?charset=gb2312">
<title>ASP中利用OWC控件實(shí)現(xiàn)圖表功能詳解</title>
</head>
<body>
<%
'下面測(cè)試的是一個(gè)產(chǎn)品銷量圖
MX1?=?"A產(chǎn)品,B產(chǎn)品,C產(chǎn)品,D產(chǎn)品"?'數(shù)據(jù)項(xiàng)目名數(shù)組(給出測(cè)試數(shù)據(jù),實(shí)際用的時(shí)候從數(shù)據(jù)庫(kù)讀取用","分隔)
MX2?=?"50,60,20,80"?'數(shù)據(jù)項(xiàng)目值數(shù)組
Datestr?=?"2005-3-24,2005-3-25,2005-3-26,2005-3-27,2005-3-28"?'日期
SQARXLstr?=?"50,100,20,80,89"?'A產(chǎn)品2005-3-24?至?2005-3-28的銷量
SQARXLstr?=?SQARXLstr?&?","?&?"40,60,20,90,70"?'B產(chǎn)品2005-3-24?至?2005-3-28的銷量
SQARXLstr?=?SQARXLstr?&?","?&?"20,50,55,25,60"?'C產(chǎn)品2005-3-24?至?2005-3-28的銷量
SQARXLstr?=?SQARXLstr?&?","?&?"80,20,75,58,100"?'D產(chǎn)品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>
<script?language="vbscript">
Sub?Window_OnLoad()
'------------------餅圖-------------------------------------------------------------
'為數(shù)據(jù)賦值
categories?=?split("<%=MX1%>",",")?'數(shù)據(jù)項(xiàng)目名數(shù)組
values?=?split("<%=MX2%>",",")?'數(shù)據(jù)項(xiàng)目值數(shù)組
Set?cht?=?ChartSpace1.Charts.Add?'添加一個(gè)圖標(biāo)對(duì)象
Set?c?=?ChartSpace1.Constants?'返回一個(gè)對(duì)象,此對(duì)象允許腳本用戶使用已命名的常量。
cht.Type?=?c.chChartTypePie?'設(shè)置圖表類型為餅圖
'-------設(shè)置圖表標(biāo)題----------------------------------------
ChartSpace1.HasChartSpaceTitle?=?True?'指定圖表工作區(qū)中包含標(biāo)題
ChartSpace1.ChartSpaceTitle.Caption?=?"餅狀圖"?'設(shè)置圖表工作區(qū)標(biāo)題內(nèi)容
'有關(guān)字體的設(shè)置
ChartSpace1.ChartSpaceTitle.Font.Bold?=?True?'設(shè)置圖表工作區(qū)標(biāo)題內(nèi)容是否粗體
ChartSpace1.ChartSpaceTitle.Font.Color?=?"blue"?'設(shè)置圖表工作區(qū)標(biāo)題的顏色
ChartSpace1.ChartSpaceTitle.Font.Italic?=?False?'設(shè)置圖表工作區(qū)標(biāo)題是否為斜體
ChartSpace1.ChartSpaceTitle.Font.Name?=?"隸書(shū)"?'設(shè)置圖表工作區(qū)標(biāo)題內(nèi)容的字體
ChartSpace1.ChartSpaceTitle.Font.Size?=?18?'設(shè)置圖表工作區(qū)標(biāo)題內(nèi)容的大小(單位:磅)
ChartSpace1.ChartSpaceTitle.Font.Underline?=?c.owcUnderlineStyleSingle?'設(shè)置下劃線屬性
'-------設(shè)置圖例--------------------------------------------
cht.HasLegend?=?True?'指定圖表工作區(qū)中含有圖例
cht.Legend.Font.Size?=?9?'其他有關(guān)字體項(xiàng)的設(shè)置參見(jiàn)設(shè)置圖表標(biāo)題部分
cht.Legend.Position?=?c.chLegendPositionRight?'設(shè)置圖例對(duì)其方式
cht.SetData?c.chDimCategories,?c.chDataLiteral,?categories
cht.SeriesCollection(0).SetData?c.chDimValues,?c.chDataLiteral,?values
Set?dl?=?cht.SeriesCollection(0).DataLabelsCollection.Add?'添加圖例的數(shù)據(jù)標(biāo)記
dl.HasValue?=?False
dl.HasPercentage?=?True
dl.Font.Size?=?11
'------------------餅圖(結(jié)束)------------------------------------------------
'------------------簇狀柱型圖(開(kāi)始)--------------------------------------
Set?cht?=?ChartSpace2.Charts.Add?'添加一個(gè)圖標(biāo)對(duì)象
Set?c?=?ChartSpace2.Constants?'返回一個(gè)對(duì)象,此對(duì)象允許腳本用戶使用已命名的常量。
cht.Type?=?c.chChartTypeColumnClustered?'設(shè)置圖表類型為折線圖
'-------設(shè)置圖表標(biāo)題----------------------------------------
ChartSpace2.HasChartSpaceTitle?=?True?'指定圖表工作區(qū)中包含標(biāo)題
ChartSpace2.ChartSpaceTitle.Caption?=?"柱狀圖"?'設(shè)置圖表工作區(qū)標(biāo)題內(nèi)容
'有關(guān)字體的設(shè)置
ChartSpace2.ChartSpaceTitle.Font.Bold?=?True?'設(shè)置圖表工作區(qū)標(biāo)題內(nèi)容是否粗體
ChartSpace2.ChartSpaceTitle.Font.Color?=?"blue"?'設(shè)置圖表工作區(qū)標(biāo)題的顏色
ChartSpace2.ChartSpaceTitle.Font.Italic?=?False?'設(shè)置圖表工作區(qū)標(biāo)題是否為斜體
ChartSpace2.ChartSpaceTitle.Font.Name?=?"隸書(shū)"?'設(shè)置圖表工作區(qū)標(biāo)題內(nèi)容的字體
ChartSpace2.ChartSpaceTitle.Font.Size?=?18?'設(shè)置圖表工作區(qū)標(biāo)題內(nèi)容的大小(單位:磅)
ChartSpace2.ChartSpaceTitle.Font.Underline?=?c.owcUnderlineStyleSingle?'設(shè)置下劃線屬性
cht.SetData?c.chDimCategories,?c.chDataLiteral,?categories?'橫項(xiàng)(分類軸)
cht.SeriesCollection(0).SetData?c.chDimValues,?c.chDataLiteral,?values
Set?dl?=?cht.SeriesCollection(0).DataLabelsCollection.Add?'添加圖例的數(shù)據(jù)標(biāo)記
dl.HasValue?=?True
dl.HasPercentage?=?False
dl.Font.Size?=?9
dl.Font.Color?=?"red"
dl.Position?=?c.chLegendPositionRight
'設(shè)置縱向數(shù)值屬性
Set?categoryAxis?=?cht.Axes(c.chAxisPositionBottom)
categoryAxis.Font.Size?=?9
'設(shè)置分類組屬性
Set?categoryAxis?=?cht.Axes(c.chAxisPositionLeft)
categoryAxis.Font.Size?=?9
'------------------簇狀柱型圖(結(jié)束)--------------------------------------
'------------------折線圖----------------------------------------------------------
SParr?=?split("<%=MX1%>",",")
Datearr?=?split("<%=Datestr%>",",")?
Set?cht?=?ChartSpace3.Charts.Add?'添加一個(gè)圖標(biāo)對(duì)象
Set?c?=?ChartSpace3.Constants?'返回一個(gè)對(duì)象,此對(duì)象允許腳本用戶使用已命名的常量。
cht.Type?=?c.chChartTypeLineMarkers?'設(shè)置圖表類型為折線圖
'-------設(shè)置圖表標(biāo)題----------------------------------------
ChartSpace3.HasChartSpaceTitle?=?True?'指定圖表工作區(qū)中包含標(biāo)題
ChartSpace3.ChartSpaceTitle.Caption?=?"日銷量折線圖"?'設(shè)置圖表工作區(qū)標(biāo)題內(nèi)容
'有關(guān)字體的設(shè)置
ChartSpace3.ChartSpaceTitle.Font.Bold?=?True?'設(shè)置圖表工作區(qū)標(biāo)題內(nèi)容是否粗體
ChartSpace3.ChartSpaceTitle.Font.Color?=?"blue"?'設(shè)置圖表工作區(qū)標(biāo)題的顏色
ChartSpace3.ChartSpaceTitle.Font.Italic?=?False?'設(shè)置圖表工作區(qū)標(biāo)題是否為斜體
ChartSpace3.ChartSpaceTitle.Font.Name?=?"隸書(shū)"?'設(shè)置圖表工作區(qū)標(biāo)題內(nèi)容的字體
ChartSpace3.ChartSpaceTitle.Font.Size?=?18?'設(shè)置圖表工作區(qū)標(biāo)題內(nèi)容的大小(單位:磅)
ChartSpace3.ChartSpaceTitle.Font.Underline?=?c.owcUnderlineStyleSingle?'設(shè)置下劃線屬性
'-------設(shè)置圖例--------------------------------------------
cht.HasLegend?=?True?'指定圖表工作區(qū)中含有圖例
cht.Legend.Font.Size?=?9?'其他有關(guān)字體項(xiàng)的設(shè)置參見(jiàn)設(shè)置圖表標(biāo)題部分
cht.Legend.Position?=?c.chLegendPositionBottom?'設(shè)置圖例對(duì)其方式
cht.SetData?c.chDimSeriesNames,?c.chDataLiteral,?SParr?'系列
cht.SetData?c.chDimCategories,?c.chDataLiteral,?Datearr?'橫項(xiàng)(分類軸)
'設(shè)置縱向數(shù)值屬性
Set?categoryAxis?=?cht.Axes(c.chAxisPositionBottom)
categoryAxis.Font.Size?=?9
'設(shè)置分類組屬性
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?'按天讀取數(shù)據(jù)
valuetemp?=?valuetemp?&?","?&?values(j)
next
valuearr?=?split(mid(valuetemp,2),",")
cht.SeriesCollection(i).SetData?c.chDimValues,?c.chDataLiteral,?valuearr
Set?dl?=?cht.SeriesCollection(i).DataLabelsCollection.Add?'添加圖例的數(shù)據(jù)標(biāo)記
dl.HasValue?=?True
dl.HasPercentage?=?False
dl.Font.Size?=?9
next
'------------------折線圖(結(jié)束)---------------------------------------------------
End?Sub
</script>
</body>
</html>
轉(zhuǎn)載于:https://www.cnblogs.com/penboy/archive/2005/05/28/164197.html
總結(jié)
以上是生活随笔為你收集整理的ASP中利用OWC控件实现图表功能详解[zz]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 里的
- 下一篇: Google ToolBar 3.0 B