调用OWC过程中的错误!
我仿照网上的例子做了个页面调用OWC,但是总是在objSeries.SetData objChartConstants.chDimCategories,0,"CategoryName"这一行出错
源代码如下:
<!--#include file="adovbs.inc"-->
<html>
<head>
<title>利用MS Office Web Component打造精品图表</title>
<%
'将数据图表转换成图片
Function ExportChartToGIF(objCSpace,strAbsFilePath,strRelFilePath)
Randomize
strFileName=Timer&Rnd&".gif"
objCSpace.ExportPicture strAbsFilePath&""&strFileName,"gif",650,400
ExportChartToGIF=strRelFilePath&"/"&strFileName
End Function
'删除过期数据图片(需要FSO支持)
Sub CleanUpGIF(objGIFPath)
Set objFSO=Server.CreateObject("Scripting.FileSystemObject")
Set objFolder=objFSO.GetFolder(objGIFPath)
For Each objFile In objFolder.Files
If InStr(objFile.Name,".gif")>0 And DateDiff("n",objFile.DateLastModified,Now)>10 Then objFSO.DeleteFile objGIFPath&""&objFile.Name,True
Next
Set objFolder=Nothing
Set objFSO=Nothing
End Sub
%>
</head>
<body>
<div align="center">
<br>
<br>
<%
strChartAbsPath=Server.MapPath(".") '图表绝对路径
strChartRelPath=Server.MapPath(".") '图表真实路径
'设置组件——使用了OWC10,也就是Office 2003中带的
Set objChartSpace=Server.CreateObject("OWC10.ChartSpace.10")
Set objChart=objChartSpace.Charts.Add
Set objChartConstants=objChartSpace.Constants
'设置图表样式
With objChart
.Border.Color="white" '图表边框颜色
.Type=1 '以柱状图显示
.HasLegend=True '是否显示图例
.HasTitle=True '显示标题
.Title.Caption="利用Office Web Component打造精品图表" '图表标题
'设置图表标题样式
.Title.Font.Name="宋体"
.Title.Font.Size=12
.Title.Font.Bold=True
.Title.Font.Color="red"
End With
'连接数据库
Set objConn=Server.CreateObject("ADODB.Connection")
objConn.Open "yang","sa","xinbada"
Set objRS=Server.CreateObject("ADODB.RecordSet")
Set objRS.ActiveConnection=objConn
objRS.CursorType=adOpenStatic
objRS.CursorLocation=adUseClient
mCategoryName=""
mValues=""
'统计每种供应货物的数量有多少
objRS.Open "Select Count(ProductName) As Cols,CategoryName From Products,Categories Where Products.CategoryID=Categories.CategoryID Group By CategoryName"
Set objChartSpace.DataSource=objRS
'显示图表内容
objChart.SetData objChartConstants.chDimSeriesNames,0,"CategoryName"
For Each objSeries In objChart.SeriesCollection
objSeries.SetData objChartConstants.chDimCategories,0,"CategoryName"'(出错行)
objSeries.SetData objChartConstants.chDimValues,0,"Cols"'(出错行)
Next
'设置纵坐标内容
With objChart.Axes(objChartConstants.chAxisPositionBottom)
.HasTitle=True
.Title.Caption="种类"
.Title.Font.Name="宋体"
.Title.Font.Size=9
.Title.Font.Bold=True
.Title.Font.Color="blue"
End With
'设置横坐标内容
With objChart.Axes(objChartConstants.chCategoryAxis)
.HasTitle=True
.Title.Caption="数量"
.Title.Font.Name="宋体"
.Title.Font.Size=9
.Title.Font.Bold=True
.Title.Font.Color="green"
End With
strChartFile=ExportChartToGIF(objChartSpace,strChartAbsPath,strChartRelPath)
Response.Write "<img src="""&strChartFile&""">"&"<P>"
objRS.Close
CleanUpGIF strChartAbsPath
Set objRS=Nothing
Set objConn=Nothing
Set objSeries=Nothing
Set objChart=Nothing
Set objChartSpace=Nothing
%>
</div>
</body>
</html>