狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频

當前位置:系統之家 > 技術開發教程 > 詳細頁面

運用OWC服務器端組件動態生成圖表

運用OWC服務器端組件動態生成圖表

更新時間:2019-10-06 文章作者:未知 信息來源:網絡 閱讀次數:

以前在這里也曾經有一些文章談到了在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 = "DSN=pubs;uid=sa"
DSC.RecordsetDefs.AddNew "select distinct state,num=COUNT(*) FROM authors GROUP BY state",DSC.Constants.dscCommandText,"ChartData"
BindChartToDSC m_cspace, DSC, "ChartData", "state", "num"
m_sFilePath = ExportChartToGIF(m_cspace)
set m_cspace=nothing
set m_cht=nothing
%>

<br><br>
<img src="tmp/<%= m_sFilePath %>">
</BODY>
</HTML>
其中我們會發現兩個有用的函數:ExportChartToGIF和BindChartToDSC
ExportChartToGIF(cspace)是一個用來將chart轉換成GIF文件的函數
cspace:一個OWC.Chart的實例
BindChartToDSC(cspace, dsc, sRSName, sCategories, sValues)用來將一個Chart綁定到數據源
cspace:OWC.Chart的實例
dsc:數據源
sRSName:記錄集名稱
sCategories,sValues:Chart中每個系列的名稱字段和相應的值的字段名(說的好象不是很清楚,不過看看代碼你就明白了)
在使用服務器端的OWC時,實際上和使用其它的組件沒什么區別,都是用server.createobject來創建一個實例,再調用組件的方法和屬性。
OWC包括四個組件,他們的ProgID分別為:
OWC.Chart:圖表組件
OWC.SpreadSheet:電子表格組件
OWC.DataSourceControl:數據源組件
OWC.PivotTable:動態報表組件

最后說一下如何處理臨時的圖片文件
在ExportChartToGIF漢書中你可以看到如下的代碼:
Session("TC:" & sFilePath & sFileName) = sFilePath & sFileName
我們將產生的圖片文件路徑保存在session中,然后在Session_OnEnd中添加如下的代碼:
Set fsoTemp = CreateObject("Scripting.FileSystemObject")
for each imagefile in Session.Contents
    if left(imagefile,3) = "TC:" then
        fsoTemp.DeleteFile mid(imagefile,4), True
    end if
next
set fsoTemp=nothing

好了。終于寫完了,其中關于臨時文件的處理的方法也許不是很好,如果你有更好的方法的話,請告訴我。希望這篇文章對大家都所幫助:)

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频
欧美午夜电影网| 国产欧美一区视频| 久久久久久一区| 国产精品视频免费观看| 精品成人国产| 亚洲国内欧美| 日韩视频中文| 亚洲欧美日韩国产| 亚洲欧美视频| 在线一区二区三区做爰视频网站| 亚洲免费中文| 91久久免费观看| 欧美日韩免费在线视频| 欧美一级日韩免费不卡| 91精品国产高清一区二区三区| 日韩欧美中文字幕制服| 欧美va在线播放| 久久一日本道色综合| 久久久.com| 最新日韩av在线| 亚洲18色成人| 激情综合五月天| 成人app在线观看| 欧美日韩精品免费看| 亚洲看片网站| 葵司免费一区二区三区四区五区| 欧美亚洲图片小说| 精品欧美一区二区在线观看| 国产精品免费久久| 一区二区理论电影在线观看| 日韩av中文字幕一区二区| 国内一区二区在线| 97久久久精品综合88久久| 国内揄拍国内精品久久| 性刺激综合网| 欧美一区二区视频观看视频| 国产清纯美女被跳蛋高潮一区二区久久w| 国产精品视频麻豆| 亚洲国产日韩一级| 国产suv一区二区三区88区| 欧美久久久久| 日本电影欧美片| 久久久久久亚洲综合影院红桃| 中文字幕一区二区三区不卡| 免费在线看成人av| 色综合天天天天做夜夜夜夜做| 一本色道久久综合亚洲精品婷婷| 欧美色手机在线观看| 国产欧美一区二区精品性色| 日韩影视精彩在线| 欧美69视频| 欧美三级视频在线| 国产精品你懂的在线欣赏| 日韩制服丝袜av| 欧美精品一卡| 欧美久久久久久蜜桃| 亚洲美女少妇撒尿| 丁香激情综合五月| 久久精品国产清高在天天线| 久久综合网色—综合色88| 亚洲一区二区欧美激情| 99国产欧美另类久久久精品| 久久久噜噜噜久久狠狠50岁| 久久久久久久久蜜桃| 免费在线观看不卡| 亚洲高清电影| 久久色在线观看| 激情综合亚洲精品| 欧美中文字幕| 国产精品午夜电影| 国产成人免费9x9x人网站视频| 国产精品女主播一区二区三区| 亚洲精品一区二区三区香蕉| 麻豆精品久久久| 亚洲一区二区精品在线| 国产欧美日韩亚州综合| 国产成人综合在线| 91久久精品午夜一区二区| 亚洲特黄一级片| 91免费在线播放| 精品少妇一区二区三区 | 亚洲精品乱码久久久久久日本蜜臀| 国产夫妻精品视频| 欧美视频一区在线观看| 亚洲一二三四区不卡| 欧美先锋影音| 久久尤物电影视频在线观看| 国产精品自拍毛片| 欧美在线播放高清精品| 亚洲午夜精品网| 亚洲成人直播| 国产精品素人视频| 欧美日韩四区| 国产免费成人在线视频| 成+人+亚洲+综合天堂| 日韩视频免费观看高清在线视频| 日本欧美久久久久免费播放网| 国产女主播一区二区| 一区二区三区在线影院| 在线欧美不卡| 亚洲六月丁香色婷婷综合久久 | 欧美亚洲综合网| 日韩精品乱码av一区二区| 免费久久久一本精品久久区| 亚洲成人一二三| 亚洲欧美日韩精品在线| 婷婷中文字幕综合| 色欧美乱欧美15图片| 美女一区二区视频| 欧美色综合天天久久综合精品| 日韩av高清在线观看| 在线视频你懂得一区| 久久国产免费看| 欧美精品丝袜久久久中文字幕| 国产一区在线观看视频| 日韩精品一区二区三区四区 | 精品白丝av| 亚洲二区在线观看| 色婷婷亚洲综合| 国精产品一区一区三区mba视频| 欧美精选午夜久久久乱码6080| 国产精品一二三| 久久久久久电影| 亚洲激精日韩激精欧美精品| 一区二区三区高清| 欧美伊人精品成人久久综合97| 国产在线看一区| 久久色.com| 国产偷自视频区视频一区二区| 香蕉加勒比综合久久| 91精品国产一区二区三区香蕉| 成人午夜电影网站| 最新国产の精品合集bt伙计| 新狼窝色av性久久久久久| 国产资源在线一区| 国产日产欧美精品一区二区三区| 99精品国产福利在线观看免费 | 国产精品资源在线看| 国产精品天天看| 色偷偷久久一区二区三区| 丰满亚洲少妇av| 亚洲欧美日韩精品久久久久| 色欧美88888久久久久久影院| 国产91精品免费| 亚洲九九爱视频| 69堂亚洲精品首页| 亚洲大片在线| 国产一区二区三区观看| 中文字幕在线一区二区三区| 在线观看成人免费视频| 99精品桃花视频在线观看| 亚洲已满18点击进入久久| 91麻豆精品国产91久久久久| 国产精品www.| 国产在线日韩欧美| 一区二区三区av电影| 欧美丰满美乳xxx高潮www| 一区免费视频| 懂色av一区二区夜夜嗨| 亚洲精品免费视频| www欧美成人18+| 色哟哟日韩精品| 亚洲视频免费| 成人国产一区二区三区精品| 天天影视色香欲综合网老头| 国产女主播在线一区二区| 欧美亚洲自拍偷拍| 亚洲美女色禁图| 99麻豆久久久国产精品免费| 免费看日韩精品| 亚洲精品免费看| 国产精品五月天| 精品少妇一区二区三区视频免付费 | 久久成人久久鬼色| 亚洲一区二区四区蜜桃| 国产日韩欧美制服另类| 在线不卡a资源高清| 久久精品免费| 999亚洲国产精| 欧美一区高清| 国产91精品一区二区麻豆网站| 另类小说图片综合网| 午夜伊人狠狠久久| 亚洲毛片av在线| 国产精品欧美久久久久一区二区| 日韩欧美不卡在线观看视频| 欧美性猛交xxxx乱大交退制版| 翔田千里一区二区| 国产视频久久| 亚洲欧洲一区二区天堂久久| 欧美精品一区二区视频| 91在线免费看| 99精品欧美一区二区三区综合在线| 久久99国产乱子伦精品免费| 三级欧美在线一区| 午夜激情综合网| 午夜a成v人精品| 午夜伦欧美伦电影理论片| 一区二区国产视频| 一区二区不卡在线播放 |