控件中国网现已改版,您看到的是老版本网站的镜像,系统正在为您跳转到新网站首页,请稍候.......
中国最专业的商业控件资讯网产品咨询电话:023-67870900 023-67871946
产品咨询EMAIL:SALES@COMPONENTCN.COM

ASP.NET如何用OWC绘图控件画统计图表(一)

作者:不详 出处:不详 2010年02月08日 阅读:

OWC提供面积图、柱状图、条形图、折线图、平滑曲线图、饼图、圆环图、股价图、散点图、雷达图。其中有些图形包括二维和三维的,有些图形又包含好几种,比如柱状图包括单柱状图,簇形柱状图,一个柱好几个颜色的柱状图等。具体类型请参看OWCDCH11.CHM文件中的枚举:ChartChartTypeEnum。

  OWC有帮助文件,安装Office之后,在C:\Program Files\Common Files\Microsoft Shared\Web Components\11\2052目录下面,有几个*.chm文件,便是,如果你没有这几个文件,尝试把Office完全安装一下试试,或者自定义安装的时候选中相应的选项。但它们是针对如何在Excel中使用,而不是在.Net或Java或Dephi中如何使用的,它只是按字母顺序列出了OWC组件所有的对象、集合、方法、属性、枚举,以及少量的示例代码,查找很不方便。我主要参看了其中的OWCDCH11.CHM文件。

  OWC,即Office Web Components,是微软随Office提供的绘图控件,使用它能够绘制绝大部分的图形,但不幸的是OWC的帮助文件并不好用,网上关于OWC的文章也都很简单,稍微深入一点的问题就很难搜到。它为在Web中绘制图形提供了灵活的同时也是最基本的机制。

  在一个intranet环境中,如果可以假设客户机上存在特定的浏览器和一些功能强大的软件(如IE6和Office 2000/XP/2003),那么就有能力利用Office Web组件提供一个交互式图形开发环境。这种模式下,客户端工作站将在整个任务中分担很大的比重。理论上说Excel能做的图都可以通过OWC画。所以,把自己研究OWC的一些心得写在这里,希望能帮助有需要的朋友,使他们不必再去翻看长长的对象(属性、方法)列表。

  本文讲述如何绘制条形图,折线图,柱形图,面积图等常见图形。

  效果图:

 

  前台代码:

  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="OWCdrawing.aspx.cs" Inherits="OWCdrawing" %> 
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>">
  <html xmlns="<http://www.w3.org/1999/xhtml>" >
  <head runat="server">
  <title>Test</title <http://blog.csdn.net/21aspnet%3C/title>>
  </head>
  <body>
  <form id="form1" runat="server">
  <div style="text-align: left">
  <table style="width: 600px">
  <tr>
  <td colspan="3" style="height: 20px">
  <strong>怎么样在ASP.NET2.0中使用OWC组件画图</strong></td>
  </tr>
  <tr>
  <td colspan="3" rowspan="2" style="height: 21px">
  <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
  </td>
  </tr>
  <tr>
  </tr>
  </table>
  </div>
  </form>
  </body>
  </html>

  手把手教程:

  第一步:

  右键点击网站根目录引用。如图所示:

 

  第二步:

  点击“添加引用”后弹出一个窗口,添加OWC的引用。如图所示:

 

  点“确定”。

  第三步:

  代码中引用Microsoft.Office.Interop.Owc11。

  全部代码

  后台代码:

  using System;
  using System.Data;
  using System.Configuration;
  using System.Web;
  using System.Web.Security;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  using System.Web.UI.WebControls.WebParts;
  using System.Web.UI.HtmlControls;
  using System.Data.SqlClient; //添加数据操作引用
  using Microsoft.Office.Interop.Owc11;//添加Office组件引用
  public partial class OWCdrawing : System.Web.UI.Page
  {
  protected void Page_Load(object sender, EventArgs e)
  {
  //连接数据库并获取特定字符串
  string strSeriesName = "图例1";
  string ConnectString = "Server=(local);DataBase=web;Uid=sa;Pwd=sa";
  string Sql = "SELECT month,Allcount FROM Chart";
  SqlConnection myConn = new SqlConnection(ConnectString);
  myConn.Open();
  SqlDataAdapter Da = new SqlDataAdapter(Sql, myConn);
  DataSet ds = new DataSet();
  Da.Fill(ds);
  //存放月
  string[] MonNum = new string[12];
  //存放数据
  string[] MonCount = new string[12];
  //为数组赋值
  for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
  {
  MonNum[i] = ds.Tables[0].Rows[i][0].ToString();
  MonCount[i] = ds.Tables[0].Rows[i][1].ToString();
  }
  //为x轴指定特定字符串,以便显示数据
  string strXdata = String.Empty;
  foreach (string strData in MonNum)
  {
  strXdata += strData + "\t";
  }
  string strYdata = String.Empty;
  //为y轴指定特定的字符串,以便与x轴相对应
  foreach (string strValue in MonCount)
  {
  strYdata += strValue + "\t";
  }
  //创建ChartSpace对象来放置图表
  ChartSpace laySpace = new ChartSpaceClass();
  //在ChartSpace对象中添加图表
  ChChart InsertChart = laySpace.Charts.Add(0);
  //指定绘制图表的类型。类型可以通过OWC.ChartChartTypeEnum枚举值得到
  //InsertChart.Type = ChartChartTypeEnum.chChartTypeLine;//折线图
  //InsertChart.Type = ChartChartTypeEnum.chChartTypeArea;//面积图
  //InsertChart.Type = ChartChartTypeEnum.chChartTypeBarClustered;//条形图
  InsertChart.Type = ChartChartTypeEnum.chChartTypeColumnClustered;//柱形图

热推产品

  • ActiveReport... 强大的.NET报表设计、浏览、打印、转换控件,可以同时用于WindowsForms谀坔攀戀Forms平台下......
  • AnyChart AnyChart使你可以创建出绚丽的交互式的Flash和HTML5的图表和仪表控件。可以用于仪表盘的创......
首页 | 新闻中心 | 产品中心 | 技术文档 | 友情连接 | 关于磐岩 | 技术支持中心 | 联系我们 | 帮助中心 Copyright-2006 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 电话:023 - 67870900 传真:023 - 67870270 产品咨询:sales@componentcn.com 渝ICP备12000264号 法律顾问:元炳律师事务所 重庆市江北区塔坪36号维丰创意绿苑A座28-5 邮编:400020
在线客服
在线客服系统
在线客服
在线客服系统