[摘要]大家在编写ASP程序的时候,可能要对各种指标以图形的方式显示出来。如果仅仅是柱状图,可以采用画表格的方法。许多投票程序多采用这种方法。如果是饼状图或从数据库中检索数据后再显示,就有些困难了.办法也有...
大家在编写ASP程序的时候,可能要对各种指标以图形的方式显示出来。如果仅仅是柱状图,可以采用画表格的方法。许多投票程序多采用这种方法。如果是饼状图或从数据库中检索数据后再显示,就有些困难了.办法也有,自己可以封装excel来完成上述功能,或者用deiphi做一个activeform传入参数,或者用php来写,java也可以。当然,用一个比较成熟的图形组件来完成更好一些。microsoft  office  web  compoent非常不错。我在开发一个项目的时候,用到了这个组件。 
CHART.ASP程序。 
<%  Option  Explicit  %> 
<!--#include  file="adovbs.inc"--> 
<HTML> 
<HEAD> 
<TITLE>柱状图的例子</TITLE> 
<% 
Function  ExportChartToGIF(objCSpace,  strAbsFilePath,  strRelFilePath) 
Dim  strFileName 
Randomize   
strFileName  =  Timer  &  Rnd  &  ".gif" 
objCSpace.ExportPicture  strAbsFilePath  &  "\"  &  strFileName,  "gif",  650,  400 
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"> 
<div  align="center"> 
<br> 
<br> 
<% 
dim  sj1,sj2 
sj1=Request.QueryString("s1") 
sj2=Request.QueryString("s2")   
dim  objChartSpace 
dim  objChart 
dim  objSeries 
dim  objConn 
dim  objRS 
dim  c 
dim  series 
dim  strChartAbsPath 
dim  strChartRelPath 
dim  strChartFile 
dim  axis 
strChartAbsPath  =  Server.MapPath("/xjsi-web/dcss/chart") 
strChartRelPath  =  "/xjsi-web/dcss/chart" 
'设置组件 
set  objChartSpace  =  Server.CreateObject("OWC.Chart") 
set  objChart  =  objChartSpace.Charts.Add 
set  c  =  objChartSpace.Constants 
objChartSpace.Border.Color="red" 
'以柱状图显示 
objchart.type=1 
objChart.HasLegend  =  True'是否显示图例 
objChartSpace.HasChartSpaceTitle=true  '显示标题 
objChartSpace.ChartSpaceTitle.Caption  ="柱状图的例子使用office  web组件--www.ourfly.com中文技术网站"   
set  objConn  =  Server.CreateObject("ADODB.Connection") 
objConn.Open  application("strconn") 
set  objRS  =  Server.CreateObject("ADODB.Recordset") 
set  objRS.ActiveConnection  =  objConn 
objRS.CursorType  =  adOpenStatic 
objRS.CursorLocation  =  adUseClient 
objRS.Open  "select  dwsj,sum(jfrs)  as  jfrs   
from  dcss_do_jfgcfxb  where  dwsj>='"&sj1&"'  and  dwsj<'"&sj2&"'   
group  by  dwsj  order  by  dwsj  asc" 
set  objChartSpace.DataSource  =  objRS 
'显示图例内容 
objChart.SetData  c.chDimSeriesNames,  0,  "jfrs" 
for  each  objSeries  in  objChart.SeriesCollection 
objSeries.SetData  c.chDimCategories,  0,  "dwsj" 
objSeries.SetData  c.chDimValues,  0,  "jfrs" 
next 
for  each  axis  in  objChart.Axes 
axis.HasTitle  =  True 
if  axis.Type  =  c.chCategoryAxis  then 
axis.Title.Caption  =  "月份" 
else 
axis.Title.Caption  =  "人数" 
end  if 
next 
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 
%> 
</div> 
</BODY> 
</HTML> 
使用这个组件的注意事项: 
1。在office2000的光盘上,有一个msowc.msi的可执行文件.OK 
2。建议大家用visual  interdev6.0开发,代码的自动提示功能此时会发挥出极大的作用。 
效果图如下:  
关键词:在浏览器中动态显示图形(运用owc)