利用OWC服务器端组件动态生成图表

CUIGUIZHEN12

CUIGUIZHEN12

2016-01-29 18:09

利用OWC服务器端组件动态生成图表,利用OWC服务器端组件动态生成图表
  以前在这里也曾经有一些文章谈到了在ASP中生成动态图表的问题,但那些文章中所谈到的一些方法都有某些方面的限制,如需要在客户端安装office2000或安装OWC,有些则可能在Intranet中使用时没什么问题,但在通过Internet访问的时候,就可能出现无法正常工作的现象(这主要和SQL Server的安全设置有关)。那么,我们如何来避免这些问题呢?有一个很好的方法,就是将在ASP中生成的图表转换成图片文件保存在服务器上,这样用户最终看到的是GIF图片格式的图表,我想现在的任何一种浏览器在观看GIF图片的时候都没什么问题吧。:)也许唯一可能的问题就是如何对这些生成的临时图片文件的处理问题,关于这个问题在最后我们会讨论。
下面我们会用一个具体的实例来说明这种方法。程序的测试环境为:
NT4.0(SP5)+IIS4.0+SQL Server7.0+IE5.0,要运行下面的ASP程序,请将下面的代码Copy,保存到你的一个虚拟目录中,在这个虚拟目录中建立一个子目录tmp(你可能修改代码中的路径以符合自己的路径),在IIS中设置read权限即可,注意了,在NT上你必须设置此tmp目录对IUSR_servername用户至少有Change的权限。建立一个pubs的DSN指向SQL Server的pubs数据库。
以下是代码:
chart.asp
<%
Function ExportChartToGIF(cspace)
    Dim fso            
    Dim sFilePath       
    Dim sFileName     

    '生成临时文件的文件名
    set fso = CreateObject("Scripting.FileSystemObject")
    sFilePath = Request.ServerVariables("PATH_TRANSLATED")
    sFilePath = left(sFilePath, InStrRev(sFilePath, ""))
    sFilePath = sFilePath & "tmp"
    sFileName = fso.GetTempName()
    sFileName = sFileName & ".gif"
    set fso=nothing
    '将chart转换成GIF文件保存在临时目录
    m_cspace.ExportPicture sFilePath & sFileName, "gif", 200, 150
    
    '将生成的临时图片报存在session中以便于删除
    Session("TC:" & sFilePath & sFileName) = sFilePath & sFileName
    ExportChartToGIF = sFileName
End Function

Sub BindChartToDSC(cspace, dsc, sRSName, sCategories, sValues)
    Dim cht   
    Dim ser    
        
    set c = cspace.Constants
        
    cspace.Clear

    ' 绑定数据源
    set cspace.DataSource = dsc
        
    cspace.DataMember = sRSName
        
    set cht = cspace.Charts.Add()
    cht.HasLegend = True
    cht.Type = c.chChartTypePie
        
    set ser = cht.SeriesCollection.Add()
    ser.SetData c.chDimCategories, 0, sCategories
    ser.SetData c.chDimValues, 0, sValues
        
    set dls = ser.DataLabelsCollection.Add()
    dls.HasPercentage = True
    dls.HasValue = False

End Sub
%
<html

<head
<meta name="GENERATOR" content="Microsoft FrontPage 4.0"
<meta name="ProgId" content="FrontPage.Editor.Document"
<title利用OWC动态生成图表</title
</head

<body
<%
set m_cspace = server.CreateObject("OWC.Chart")
set DSC = server.CreateObject("OWC.DataSourceControl")
DSC.ConnectionString = "D
展开更多 50%)
分享

猜你喜欢

利用OWC服务器端组件动态生成图表

ASP
利用OWC服务器端组件动态生成图表

利用MS AJAX 扩展服务器端控件

Web开发
利用MS AJAX 扩展服务器端控件

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

使用xmldom在服务器端生成静态html页面

Web开发
使用xmldom在服务器端生成静态html页面

在服务器端控制网页

Web开发
在服务器端控制网页

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

php巧获服务器端信息

PHP
php巧获服务器端信息

Java服务器端编程安全必读

Java JAVA基础
Java服务器端编程安全必读

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何用ASP将一大段文字中的HTML的标识去掉

如何用ASP将一大段文字中的HTML的标识去掉

Word:快速输入着重号

Word:快速输入着重号
下拉加载更多内容 ↓