var g_styleID = "ruizhi"; var g_logID = "54"; var g_comDesc = "Desc"; document.write ('

FusionChart Free(ASP繪統計圖)

以往在ASP上繪圖,都需要另外的COM元件來協助處理,現在有了FusionChart就不必這麼麻煩了。FusionChart 會去讀取XML的內容,然後以FLASH的方式在網頁上秀出來。

EX:2D曲線圖_saleLine2D.xml



實作演練
http://chome.idv.tw:8080/Charts/line2d.asp?na=sale

XML源碼
復制內容到剪貼板程序代碼 歌詞或引言或程序代碼

<graph caption='2008年各月份營收金額' subcaption='單位:萬元' xAxisName='Month' yAxisMinValue='1500' yAxisName='Thousand Dollars NT$' decimalPrecision='0' formatNumberScale='0' numberPrefix='$' showNames='1' showValues='1'  showAlternateHGridColor='1' AlternateHGridColor='ff5904' divLineColor='ff5904' divLineAlpha='20' alternateHGridAlpha='5' >
<set name='2008.01' value='4533' color='8BBA00' />
<set name='2008.02' value='6794' color='008E8E' />
<set name='2008.03' value='2875' color='D64646' />
<set name='2008.04' value='3506' color='8E468E' />
<set name='2008.05' value='4647' color='588526' />
<set name='2008.06' value='6538' color='B3AA00' />
<set name='2008.07' value='6189' color='008ED6' />
<set name='2008.08' value='5651' color='9D080D' />
<set name='2008.09' value='5842' color='A186BE' />
<set name='2008.10' value='4553' color='F8AFD8' />
<set name='2008.11' value='7484' color='0FF6BD' />
<set name='2008.12' value='7505' color='008BBA' />
</graph>


EX:3D長條圖_TaiwanColumn3D.xml

遠端更新excel再產生xml
http://chome.idv.tw:8080/Charts/taiwan.asp



<%
Set Conn = Server.CreateObject("ADODB.Connection")
Driver = "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=""Excel 8.0;IMEX=0;"";"
DBPath = "Data Source=" & Server.MapPath( "Taiwan.xls" )
Conn.Open Driver & DBPath
Set Rs = Server.CreateObject("ADODB.Recordset")
Sql="select Top 1 * from [設籍人口$] order By [臺北市] Desc"
rs.Open Sql,conn,2,3  
If request("Request_Method")="POST" Then
   If Request("A1")<>"" Then A1=CLng(Request("A1"))
   If Request("B1")<>"" Then B1=CLng(Request("B1"))
   If Request("C1")<>"" Then C1=CLng(Request("C1"))
   If Request("D1")<>"" Then D1=CLng(Request("D1"))
   If Request("E1")<>"" Then E1=CLng(Request("E1"))
   If Request("F1")<>"" Then F1=CLng(Request("F1"))
   If Request("G1")<>"" Then G1=CLng(Request("G1"))
   If Request("H1")<>"" Then H1=CLng(Request("H1"))
   If Request("I1")<>"" Then I1=CLng(Request("I1"))
   If Request("J1")<>"" Then J1=CLng(Request("J1"))
   If Request("K1")<>"" Then K1=CLng(Request("K1"))
   If Request("L1")<>"" Then L1=CLng(Request("L1"))
   If Request("M1")<>"" Then M1=CLng(Request("M1"))
   If Request("N1")<>"" Then N1=CLng(Request("N1"))
   If Request("O1")<>"" Then O1=CLng(Request("O1"))
   If Request("P1")<>"" Then P1=CLng(Request("P1"))
   If Request("Q1")<>"" Then Q1=CLng(Request("Q1"))
   If Request("R1")<>"" Then R1=CLng(Request("R1"))
   If Request("S1")<>"" Then S1=CLng(Request("S1"))
   If Request("T1")<>"" Then T1=CLng(Request("T1"))
   If Request("U1")<>"" Then U1=CLng(Request("U1"))
   If Request("V1")<>"" Then V1=CLng(Request("V1"))
   If Request("W1")<>"" Then W1=CLng(Request("W1"))
  
   If A1>0 Then rs("臺北市")=A1
   If B1>0 Then rs("臺北縣")=B1
   If C1>0 Then rs("宜蘭縣")=C1
   If D1>0 Then rs("桃園縣")=D1
   If E1>0 Then rs("新竹縣")=E1
   If F1>0 Then rs("苗栗縣")=F1
   If G1>0 Then rs("臺中縣")=G1
   If H1>0 Then rs("彰化縣")=H1
   If I1>0 Then rs("南投縣")=I1
   If J1>0 Then rs("雲林縣")=J1
   If K1>0 Then rs("嘉義縣")=K1
   If L1>0 Then rs("臺南縣")=L1
   If M1>0 Then rs("高雄縣")=M1
   If N1>0 Then rs("屏東縣")=N1
   If O1>0 Then rs("臺東縣")=O1
   If P1>0 Then rs("花蓮縣")=P1
   If Q1>0 Then rs("澎湖縣")=Q1
   If R1>0 Then rs("基隆市")=R1
   If S1>0 Then rs("新竹市")=S1
   If T1>0 Then rs("臺中市")=T1
   If U1>0 Then rs("嘉義市")=U1
   If V1>0 Then rs("臺南市")=V1
   If W1>0 Then rs("高雄市")=W1
   rs.Update

   '生成TaiwanColumn3D.xml
   Body="<graph caption='台灣各縣市人口統計圖' xAxisName='縣市' yAxisName='Units' decimalPrecision='0' formatNumberScale='0'>"&vbCrlf
   Body=Body&"<set name='臺北市' value='"&rs("臺北市")&"' color='AFD8F8' />"&vbCrlf
   Body=Body&"<set name='臺北縣' value='"&rs("臺北縣")&"' color='F6BD0F' />"&vbCrlf
   Body=Body&"<set name='宜蘭縣' value='"&rs("宜蘭縣")&"' color='8BBA00' />"&vbCrlf
   Body=Body&"<set name='桃園縣' value='"&rs("桃園縣")&"' color='FF8E46' />"&vbCrlf  
   Body=Body&"<set name='新竹縣' value='"&rs("新竹縣")&"' color='008E8E' />"&vbCrlf
   Body=Body&"<set name='苗栗縣' value='"&rs("苗栗縣")&"' color='D64646' />"&vbCrlf
   Body=Body&"<set name='臺中縣' value='"&rs("臺中縣")&"' color='8E468E' />"&vbCrlf
   Body=Body&"<set name='彰化縣' value='"&rs("彰化縣")&"' color='588526' />"&vbCrlf
   Body=Body&"<set name='南投縣' value='"&rs("南投縣")&"' color='B3AA00' />"&vbCrlf
   Body=Body&"<set name='雲林縣' value='"&rs("雲林縣")&"' color='008ED6' />"&vbCrlf      
   Body=Body&"<set name='嘉義縣' value='"&rs("嘉義縣")&"' color='9D080D' />"&vbCrlf
   Body=Body&"<set name='臺南縣' value='"&rs("臺南縣")&"' color='A186BE' />"&vbCrlf
   Body=Body&"<set name='高雄縣' value='"&rs("高雄縣")&"' color='F8AFD8' />"&vbCrlf
   Body=Body&"<set name='屏東縣' value='"&rs("屏東縣")&"' color='0FF6BD' />"&vbCrlf
   Body=Body&"<set name='臺東縣' value='"&rs("臺東縣")&"' color='008BBA' />"&vbCrlf
   Body=Body&"<set name='花蓮縣' value='"&rs("花蓮縣")&"' color='46FF8E' />"&vbCrlf  
   Body=Body&"<set name='澎湖縣' value='"&rs("澎湖縣")&"' color='8E008E' />"&vbCrlf  
   Body=Body&"<set name='基隆市' value='"&rs("基隆市")&"' color='46D646' />"&vbCrlf  
   Body=Body&"<set name='新竹市' value='"&rs("新竹市")&"' color='8E8E46' />"&vbCrlf
   Body=Body&"<set name='臺中市' value='"&rs("臺中市")&"' color='265885' />"&vbCrlf  
   Body=Body&"<set name='嘉義市' value='"&rs("嘉義市")&"' color='00B3AA' />"&vbCrlf
   Body=Body&"<set name='臺南市' value='"&rs("臺南市")&"' color='D6008E' />"&vbCrlf  
   Body=Body&"<set name='高雄市' value='"&rs("高雄市")&"' color='0D9D08' />"&vbCrlf      
   Body=Body&"</graph>"
   filepath="Gallery/Data/TaiwanColumn3D.xml"
   SaveToFile Body,filepath,"utf-8"
   rs.close
   conn.close
   response.redirect "Gallery/TaiwanColumn3D.asp"
  
   '*************************************
   '存檔成UTF-8
   '*************************************
   Function SaveToFile(strBody,File,cSet)
      Dim objStream
      Set objStream = Server.CreateObject("ADODB.Stream")
      With objStream
        .Type = 2
        .Open
        .Charset   = cSet
        .Position  = objStream.Size
        .WriteText = strBody
        .SaveToFile Server.MapPath(File),2
        .Close
      End With
      Set objStream = Nothing
   End Function
Else
   A=rs("臺北市")
   B=rs("臺北縣")
   C=rs("宜蘭縣")
   D=rs("桃園縣")
   E=rs("新竹縣")
   F=rs("苗栗縣")
   G=rs("臺中縣")
   H=rs("彰化縣")
   I=rs("南投縣")
   J=rs("雲林縣")
   K=rs("嘉義縣")
   L=rs("臺南縣")
   M=rs("高雄縣")
   N=rs("屏東縣")
   O=rs("臺東縣")
   P=rs("花蓮縣")
   Q=rs("澎湖縣")
   R=rs("基隆市")
   S=rs("新竹市")
   T=rs("臺中市")
   U=rs("嘉義市")
   V=rs("臺南市")
   W=rs("高雄市")
   rs.close
   conn.close
End If
%>
<HEAD><TITLE>建立一個EXCEL檔並依選取條件將Access檔符合條件的資錄錄匯入EXCEL</TITLE>
<META content="text/html; charset=big5" http-equiv=Content-Type>
<link REL="stylesheet" HREF="style1.css" TYPE="text/css">
</HEAD>
<body bgcolor=ffffff marginheight=0 marginwidth=0 leftmargin=0 topmargin=0>
<center>
<form action=Taiwan.asp method=post>
<table border=0>
<tr align="left"><td colspan="10"><font color=red><b>填寫底下表單以更新伺服端資料:空白代表人口數沒變動,填入的數值資料,不要有千分位符號,也不要有小數點(人總不會有半個的吧!!)</b></color></td></tr>
<tr><td>臺北市</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(A,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=A1 size=10 maxlength=8></td>
<td>臺北縣</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(B,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=B1 size=10 maxlength=8></td></tr>
<tr><td>宜蘭縣</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(C,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=C1 size=10 maxlength=8></td>
<td>桃園縣</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(D,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=D1 size=10 maxlength=8></td></tr>
<tr><td>新竹縣</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(E,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=E1 size=10 maxlength=8></td>
<td>苗栗縣</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(F,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=F1 size=10 maxlength=8></td></tr>
<tr><td>臺中縣</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(G,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=G1 size=10 maxlength=8></td>
<td>彰化縣</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(H,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=H1 size=10 maxlength=8></td></tr>
<tr><td>南投縣</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(I,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=I1 size=10 maxlength=8></td>
<td>雲林縣</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(J,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=J1 size=10 maxlength=8></td></tr>
<tr><td>嘉義縣</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(K,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=K1 size=10 maxlength=8></td>
<td>臺南縣</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(L,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=L1 size=10 maxlength=8></td></tr>
<tr><td>高雄縣</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(M,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=M1 size=10 maxlength=8></td>
<td>屏東縣</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(N,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=N1 size=10 maxlength=8></td></tr>
<tr><td>臺東縣</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(O,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=O1 size=10 maxlength=8></td>
<td>花蓮縣</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(P,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=P1 size=10 maxlength=8></td></tr>
<tr><td>澎湖縣</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(Q,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=Q1 size=10 maxlength=8></td>
<td>基隆市</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(R,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=R1 size=10 maxlength=8></td></tr>
<tr><td>新竹市</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(S,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=S1 size=10 maxlength=8></td>
<td>臺中市</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(T,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=T1 size=10 maxlength=8></td></tr>
<tr><td>嘉義市</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(U,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=U1 size=10 maxlength=8></td>
<td>臺南市</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(V,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=V1 size=10 maxlength=8></td></tr>
<tr><td>高雄市</td><td align=right>原設籍人口數:</td><td align=right><%=FormatNumber(W,0)%></td><td align=right>新設籍人口數:</td><td><input type=text  Name=W1 size=10 maxlength=8></td></tr>
<tr align="left"><td colspan="10"><font color=red><b>填寫完送出後,在下個網頁時,請按重整,才能顯示更新後資料(這點我還在研究怎麼改進!!)</b></color></td></tr>
<tr align="center"><td colspan="10"><input type="submit" name="Taiwan" value="填妥送出"><input type="reset"  value="取消"></td></tr>
</table>
[/code]

從數據庫取得或更新資料(SQLServer/Access/Excel/txt),生成你想要的各種圖形xml,並用相對的SWF呈現在網頁上,這樣是不是很方便呢..

EX:Multi Series Column3D_SaleMSColumn3D.xml



實作演練
http://chome.idv.tw:8080/Charts/MSColumn3D.asp?na=sale

曲線圖/3D圓餅圖等等如下,都可依樣葫蘆
Column 2D Chart(長條圖)
Column 3D Chart(長條圖)
Line 2D Chart(曲線圖)
Pie 3D Chart(圓餅圖)

Pie 2D Chart(圓餅圖)
Bar 2D Chart
Area 2D Chart
Doughnut 2D Chart
Multi-Series Charts
Multi-series Column 3D Chart

Multi-series Column 2D Chart
Multi-series Area 2D Chart
Multi-series Line 2D Chart
Multi-series Bar 2D Chart

FusionChart有商業版本和免費版本,下載網址
http://www.fusioncharts.com/free/

很簡單的ASP整合
Column3D.asp源碼
復制內容到剪貼板程序代碼 歌詞或引言或程序代碼

<HTML>
   <HEAD>
      <TITLE>FusionCharts Free- Simple Column 3D Chart</TITLE>
   </HEAD>
   <!-- #INCLUDE FILE="FusionCharts.asp" -->
   <BODY>
   <%
      'Create the chart - Column 3D Chart with data from Data/Data.xml
      Call renderChartHTML("FCF_Column3D.swf", "Data/"&request("na")&"Column3D.xml", "", "myFirst", 900, 450)
   %>
   </BODY>
</HTML>


SaleColumn3D.xml(某公司2008年各月份營收統計表)
復制內容到剪貼板程序代碼 歌詞或引言或程序代碼

<graph caption='2008年各月份銷售金額' xAxisName='單位:萬元' yAxisName='Thousand Dollars NT$' decimalPrecision='0' formatNumberScale='0'>
<set name='2008.01' value='4533' color='8BBA00' />
<set name='2008.02' value='6794' color='008E8E' />
<set name='2008.03' value='2875' color='D64646' />
<set name='2008.04' value='3506' color='8E468E' />
<set name='2008.05' value='4647' color='588526' />
<set name='2008.06' value='6538' color='B3AA00' />
<set name='2008.07' value='6189' color='008ED6' />
<set name='2008.08' value='5651' color='9D080D' />
<set name='2008.09' value='5842' color='A186BE' />
<set name='2008.10' value='4553' color='F8AFD8' />
<set name='2008.11' value='7484' color='0FF6BD' />
<set name='2008.12' value='7505' color='008BBA' />
</graph>


http://chome.idv.tw:8080/Charts/Column3D.asp?na=SALE

http://chome.idv.tw:8080/Charts/Column3D.asp?na=Taiwan

備註:
以上是同一個程序,不同的參數呼叫不同的xml
如果您擴充成二個參數,那麼在Show的部份,只要一支asp就全搞定了
(另一個參數呼叫不同的SWF)

http://chome.idv.tw:8080/Charts/Charts.asp?s=Column3D&x=sale

[本日志由 CHOME 於 2013-08-25 02:22 PM 更新]
上一篇: 網際文明的十字路口
下一篇: 史卡博羅市集
文章來自: 本站原創
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相關日志:
評論: 0 | 引用: 0 | 查看次數: -
發表評論
暱 稱:
密 碼: 游客發言不需要密碼.
郵 箱: 郵件地址支持Gravatar頭像,郵箱地址不會公開.
網 址: 輸入網址便於回訪.
內 容:
驗證碼:
選 項:
雖然發表評論不用注冊,但是為了保護您的發言權,建議您注冊帳號.
字數限制 1000 字 | UBB代碼 開啟 | [img]標簽 開啟