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

2016-01-29 18:09 1 1 收藏

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

【 tulaoshi.com - ASP 】

  以前在这里也曾经有一些文章谈到了在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

来源:https://www.tulaoshi.com/n/20160129/1504623.html

延伸阅读
     页面代码:   <script type="text/javascript"    function ReceiveServerData(rValue)    {    alert(rValue);    }    </script   <input id="Button1" type="button" value="button" onclick ="CallServe...
标签: PHP
  “零存整取”是工薪阶层常用的投资方式,这就需要计算该项投资的未来值,从而决定是否选择某种储蓄方式。 (1)函数分解 FV函数基于固定利率及等额分期付款方式,返回某项投资的未来值。 语法:FV(rate,nper,pmt,pv,type) Rate为各期利率;Nper为总投资期,即该项投资的付款期总数;Pmt为各期所应支付的金额,其...
标签: Web开发
1. Accordion Accordion可以让你设计多个panel 并且一次只显示一个Panel .在页面上的显示效果就像是使用了多个CollapsiblePanels只不过每一次只展开其中一个CollapsiblePanel.Accordion控件内部包含了若干个AccordionPane,每一个AccordionPane的template里包括了对其Header和Content的定义。我们可以在后台代码中通过SelectedIndex属性取得...
代码如下: using System; using System.Collections; using System.Text; using System.IO; using System.Collections.Specialized; using System.Text.RegularExpressions; using System.Diagnostics; namespace CSS { public class App { public static void Main(string[] args) { //初始化CSS解析器 CssDocument doc = ne...
标签: ASP
  三、Asp+ 服务器端控制 (Asp+ Server Control) 上次讲了一些有关ASP + 服务器端控制的内容,现在来详细讲一下。Asp + 服务器端控制是微软新提出的概念,它的实现是基于微软的.NET框架,它实际上是一种特殊的HTML元素,服务器端与它是交互的关系,在生成这些元素后不但能接受它们的值,还可以动态控制它们,以完成一些很COOL的功能。下...

经验教程

369

收藏

23
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部