当前位置:K88软件开发文章中心编程语言AspAsp01 → 文章内容

asp利用OWC控件实现的各种统计图代码

减小字体 增大字体 作者:佚名     来源:asp编程网  发布时间:2018-12-30 8:32:23

最近在生成统计图的时候,使用asp+vml生成折线图统计的那种,最后生成发现结果不能满足我的全部要求,因为我的数据中有负数,所以出现的结果出现在下面,看不到具体的纵坐标,所以放弃。最后想的了用Microsoft 
Office 
Web 
Components控件生成统计图。
Microsoft 
Office 
Web 
Components控件下载地址:http://www.aspprogram.cn/html/soft/2009425211607.html
注意一下,此owc版本是owc11,用于office2003,其他版本的owc大家去网上去下载。

使用的时候要注意一下客户端office版本:OWC各种不同版本的"classid"如下:

#000000 cellSpacing=2 cellPadding=3 width=505 bgColor=
#ffffff border=1 heihgt="">
 
office 版本
 
OWC版本 
 
classid
 
office 2000
 
owc9 
 
CLSID:0002E556-0000-0000-C000-000000000046
 
office XP 
 
owc10
 
CLSID:0002E556-0000-0000-C000-000000000046
 
office 2003 
 
owc11
 
CLSID:0002E55D-0000-0000-C000-000000000046
以下红色的代码的地方,根据不同的office版本,使用不同的owc版本,更换上面的classid。
下面是owc生成的饼状图,柱状图,折线图代码

<
!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控件实现各种统计图<
/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="#ff0000>CLSID:0002E55D-0000-0000-C000-000000000046" style="width:95%
height:400">
<
/object>
<
/center>

<
br>

<
center>
<
object id="ChartSpace2" classid="#ff0000>CLSID:0002E55D-0000-0000-C000-000000000046" style="width:95%
height:400">
<
/object>
<
/center>

<
br>

<
center>
<
object id="ChartSpace3" classid="#ff0000>CLSID:0002E55D-0000-0000-C000-000000000046" style="width:95%
height:400">
<
/object>
<
/center>

<
script language="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.SetData c.chDimCategories, c.chDataLiteral, categories
cht.SeriesCollection(0).SetData c.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.SetD

[1] [2]  下一页


asp利用OWC控件实现的各种统计图代码