日期:2013-01-07  浏览次数:20945 次

<% Option Explicit %>
<HTML>
<HEAD>
<TITLE>利用OWC画图的例子</TITLE>
<!-- #include virtual="/include/adovbs.inc" -->
<%
Function ExportChartToGIF(objCSpace, strAbsFilePath, strRelFilePath)
    Dim strFileName
    Randomize
    strFileName = Timer & Rnd & ".gif"
    objCSpace.ExportPicture strAbsFilePath & "\" & strFileName, "gif", 600, 350
    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">
<%
dim objChartSpace
dim objChart
dim objSeries
dim objConn
dim objRS
dim c
dim series
dim strChartAbsPath
dim strChartRelPath
dim strChartFile
strChartAbsPath = Server.MapPath("/mypath/temp")
strChartRelPath = "temp"

set objChartSpace = Server.CreateObject("OWC.Chart")
set objChart = objChartSpace.Charts.Add()
set c = objChartSpace.Constants

objChart.Type = c.chChartTypeLineMarkers
objChart.HasLegend = True

set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "provider=sqloledb;data source=myserver;initial catalog=testdb;user id=myuid;password=mypswd;"
set objRS = Server.CreateObject("ADODB.Recordset")
set objRS.ActiveConnection = objConn
objRS.CursorType = adOpenStatic
objRS.CursorLocation = adUseClient
objRS.Open "select * from testscore order by test"
set objChartSpace.DataSource = objRS
objChart.SetData c.chDimSeriesNames, 0, "student"
for each objSeries in objChart.SeriesCollection
    objSeries.SetData c.chDimCategories, 0, "test"
    objSeries.SetData c.chDimValues, 0, "score"
next

for each axis in objChart.Axes
    axis.HasTitle = True
    if axis.Type = c.chCategoryAxis then
        axis.Title.Caption = "Test"
    else
        axis.Title.Caption = "Score"
    end if
next

objChart.SeriesCollection(2).Interior.Color = "red"
objChart.SeriesCollection(2).Line.Color = "red"

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
%>
</BODY>
</HTML>