职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 1213|回复: 0

在 ASP.net 中使用 OWC 绘制统计图表

[复制链接]
weisheng 发表于 2006-12-12 19:08 | 显示全部楼层 |阅读模式
OWC(Microsoft Office Web Components)是 Microsoft Office 使用的数据绑定 ActiveX 控件,用于向 Web 页添加图表功能。OWC支持Microsoft Excel 2000中大部分的二维图表(如折线图、柱形图、股价图等)和极坐标图表(如饼图和雷达图),并支持组合图表,如两轴线-柱图,数据表会随同图表发布,图表随着数据的变化而改变。OWC能将处理结果做为标准GIF输出并下载到浏览器中显示。

  首先,使用ADODB.Recordset读出数据集合,并与OWC组件进行数据绑定:

  Dim owcChartSpace As OWC.ChartSpace = New OWC.ChartSpace()

  Dim owcChart As OWC.WCChart = owcChartSpace.Charts.Add

  Dim ConnADO As New ADODB.Connection()

  Dim RecordsetADO As New ADODB.Recordset()

  Dim connectionString As String

  connectionString = “Provider=Microsoft.Jet.OLEDB.4.0;“ & _

  “Data Source=“ & Server.MapPath(“Grades.mdb“)

  ConnADO.Open(connectionString)

  RecordsetADO.ActiveConnection = ConnADO

  RecordsetADO.CursorType = ADODB.CursorTypeEnum.adOpenStatic

  RecordsetADO.CursorLocation = ADODB.CursorLocationEnum.adUseClient

  Dim strSQL As String

  strSQL = “Select city, month, temperature From test order by city,ids“

  RecordsetADO.Open(strSQL, ConnADO)

  owcChartSpace.DataSource = RecordsetADO

  然后,指定OWC的显示类型:

  owcChart.Type = OWC.ChartChartTypeEnum.chChartTypeSmoothLineMarkers

  在运行时向OWC中输入数据有多种方法。所有这些方法都要用到 SetData 方法来真正将数据写入 Chart 组件,因此将详细介绍此方法。SetData 方法应用于 WCChart、WCErrorBars 和 WCSeries 对象并能向这三种对象输入数据。

  SetData 方法有三个参数:Dimension、DataSourceIndex 和 DataReference。Dimension 参数引用图表中被填充数据的一部分。可用的维度常数为 SeriesNames、Categories、Values、YValues、XValues、OpenValues、CloseValues、HighValues、LowValues、BubbleValues、RValues 和 ThetaValues。这些常数每一种都引用了图表的一部分;例如,SeriesNames 常数引用了每个序列名,OpenValues 和 CloseValues 常数引用股票图的开盘价和收盘价等等。每个常数都是作为诸如 chDimSeriesNames、chDimCategories、chDimValues等窗体中的枚举常数而传递给该方法的。

  这里,我们使用SetData 方法给OWC赋值:

  owcChart.SetData(OWC.ChartDimensionsEnum.chDimSeriesNames, 0, “city“)

  Dim owcSeries As OWC.WCSeries

  For Each owcSeries In owcChart.SeriesCollection

  owcSeries.SetData(OWC.ChartDimensionsEnum.chDimCategories, 0, “month“)

  owcSeries.SetData(OWC.ChartDimensionsEnum.chDimValues, 0, “temperature“)

  Next

  最后,将OWC处理结果转换成Gif图象输出到浏览器中显示:

  Randomize()

  Dim nfilenameSuffix As Integer

  Dim sfilenamesuffix As String

  nfilenameSuffix = 100000 * Rnd()

  sfilenamesuffix = System.Convert.ToString(nfilenameSuffix)

  owcChartSpace.ExportPicture(MapPath(“owc/price_“)
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-11 13:37 , Processed in 0.122726 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表