知识大全 ASP.NET用OWC绘图控件画统计图表

Posted 图形

篇首语:今天所做之事勿候明天,自己所做之事勿候他人。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET用OWC绘图控件画统计图表相关的知识,希望对你有一定的参考价值。

ASP.NET用OWC绘图控件画统计图表  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

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

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

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

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

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

  效果图

  

  前台代码

  <%@ Page Language= C# AutoEventWireup= true CodeFile= OWCdrawing aspx cs Inherits= OWCdrawing %>

  <!DOCTYPE PUBLIC //W C//DTD XHTML Transitional//EN < transitional dtd> >

  < xmlns= <; >

  <head runat= server >

  <title>Test</title <% C/title>>

  </head>

  <body>

  <form id= form runat= server >

  <div >

  <table >

  <tr>

  <td colspan= >

  <strong>怎么样在ASP NET 中使用OWC组件画图</strong></td>

  </tr>

  <tr>

  <td colspan= rowspan= >

  <asp:PlaceHolder ID= PlaceHolder runat= server ></asp:PlaceHolder>

  </td>

  </tr>

  <tr>

  </tr>

  </table>

  </div>

  </form>

  </body>

  </>

  手把手教程

  第一步

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

  

  第二步

  点击 添加引用 后弹出一个窗口 添加OWC的引用 如图所示

  

  点 确定

  第三步

  代码中引用Microsoft Office Interop Owc

  全部代码

  后台代码

  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 Owc ;//添加Office组件引用

  public partial class OWCdrawing : System Web UI Page

  

  protected void Page_Load(object sender EventArgs e)

  

  //连接数据库并获取特定字符串

  string strSeriesName = 图例 ;

  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[ ];

  //存放数据

  string[] MonCount = new string[ ];

  //为数组赋值

  for (int i = ; i < ds Tables[ ] Rows Count; i++)

  

  MonNum[i] = ds Tables[ ] Rows[i][ ] ToString();

  MonCount[i] = ds Tables[ ] Rows[i][ ] 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( );

  //指定绘制图表的类型 类型可以通过OWC ChartChartTypeEnum枚举值得到

  //InsertChart Type = ChartChartTypeEnum chChartTypeLine;//折线图

  //InsertChart Type = ChartChartTypeEnum chChartTypeArea;//面积图

  //InsertChart Type = ChartChartTypeEnum chChartTypeBarClustered;//条形图

  InsertChart Type = ChartChartTypeEnum chChartTypeColumnClustered;//柱形图

  //指定图表是否需要图例标注

  InsertChart HasLegend = false;

  InsertChart HasTitle = true;//为图表添加标题

  InsertChart Title Caption = 年清清月儿每个月花销流水账 ;//标题名称

  //为x y轴添加图示说明

  InsertChart Axes[ ] HasTitle = true;

  InsertChart Axes[ ] Title Caption = ;//月份

  InsertChart Axes[ ] HasTitle = true;

  InsertChart Axes[ ] Scaling SplitMinimum = ;

  InsertChart Axes[ ] Title Caption = 数量 ;

  //添加一个series系列

  InsertChart SeriesCollection Add( );

  //给定series系列的名字

  InsertChart SeriesCollection[ ] SetData(ChartDimensionsEnum chDimSeriesNames +(int)ChartSpecialDataSourcesEnum chDataLiteral strSeriesName);

  //给定分类

  InsertChart SeriesCollection[ ] SetData(ChartDimensionsEnum chDimCategories +(int)ChartSpecialDataSourcesEnum chDataLiteral strXdata);

  //给定值

  InsertChart SeriesCollection[ ] SetData(ChartDimensionsEnum chDimValues (int)ChartSpecialDataSourcesEnum chDataLiteral strYdata);

  //输出文件

  string strAbsolutePath = (Server MapPath( )) + \\\\ShowData gif <file:///\\\\showdata gif\\> ;

  laySpace ExportPicture(strAbsolutePath GIF );

  //创建GIF文件的相对路径

  string strRelativePath = /ShowData gif ;

  //把图片添加到placeholder中 并在页面上显示

  string strImageTag = <IMG SRC= + strRelativePath + /> ;

  this PlaceHolder Controls Add(new LiteralControl(strImageTag));

  

  

  数据库SQL脚本

  USE [web]

  GO

  /****** 对象: Table [dbo] [Chart] ******/

  SET ANSI_NULLS ON

  GO

  SET QUOTED_IDENTIFIER ON

  GO

  CREATE TABLE [dbo] [Chart](

  [id] [int] IDENTITY( ) NOT NULL

  [month] [smallint] NULL

  [Allcount] [int] NULL

  ) ON [PRIMARY]

  在数据库建好表以后要自己手动假想有 条数据 手动添加 最终结果类似下图

  

  后台程序说明

  最关键就是InsertChart Type = ChartChartTypeEnum chChartTypeColumnClustered;

  你可以在ChartChartTypeEnum后点出其他方法 如图所示

  

  下面列出的是其他类型图

  折线图

  

  面积图

  

  条形图

  

  OWC什么图形都可以画 还能画立体的 请大家自己尝试

  可以参考OWC手册 具体位置

cha138/Article/program/net/201311/12224

相关参考

知识大全 Asp.net导航控件真的值得用吗

Asp.net导航控件真的值得用吗?  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 ASP.NET 绘图

ASP.NET绘图  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  privatevoidDraw

知识大全 ASP.NET中实时图表的实现

ASP.NET中实时图表的实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在对大批量的数据进

知识大全 Asp.net控件开发----控件开发基础

Asp.net控件开发----控件开发基础  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  服务器

知识大全 ASP.NET 2.0高级控件之FileUpload控件

ASP.NET2.0高级控件之FileUpload控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 ASP.NET控件开发基础之复合控件事件处理浅析

ASP.NET控件开发基础之复合控件事件处理浅析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 分析ASP.NET服务器控件开发-控件生命周期

分析ASP.NET服务器控件开发-控件生命周期  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb

知识大全 ASP.NET入门教程 7.2 ASP.NET 2.0的数据控件

ASP.NET入门教程7.2ASP.NET2.0的数据控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 ASP.NET 2.0服务器控件之验证控件示例

ASP.NET2.0服务器控件之验证控件示例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在上

知识大全 asp.net控件开发(一)-显示控件内容

  控件的显示自然会离不开输出HTMLCSSJavascript等前台的显示内容所以开发一个控件的时候第一件事就是要知道如何输出客户端要显示的内容  一选择基类  中所有的标准控件都可以拿过来作为基类