microsoft office web 组件(owc11)的编程(.net)

owc控件是microsoft office 图表控件(owc10为ofiiceXP的组件、owc11为office2003的组件,组件的路径为C:\Program Files\Common Files\Microsoft Shared\Web Components\11\owc11,帮助文件的路径为C:\Program Files\Common Files\Microsoft Shared\Web Components\11\2052),它可以生成三维图、柱状图、饼状图、趋势图和误差图,下面以生成三维图web应用程序为例:
1,添加引用:在“com选项卡”中选择“misrosoft office 11.0 object library”
2,具体代码如下:
  1using System;
  2
  3using System.Collections;
  4
  5using System.ComponentModel;
  6
  7using System.Data;
  8
  9using System.Drawing;
 10
 11using System.Web;
 12
 13using System.Web.UI;
 14
 15using Microsoft.Office.Interop;
 16
 17
 18namespace WebApplication2
 19{
 20    /// <summary>
 21    /// WebForm1 的摘要说明。
 22    /// </summary>

 23    public class WebForm1 : System.Web.UI.Page
 24    {
 25    
 26        private void Page_Load(object sender, System.EventArgs e)
 27        {
 28            string strCategory = "1" + '\t' + "2" + '\t' + "3" + '\t'+"4" + '\t' + "5" + '\t' + "6" + '\t';
 29            string strValue = "9" + '\t' + "8" + '\t' + "4" + '\t'+"10" + '\t' + "12" + '\t' + "6" + '\t';
 30
 31            //声明对象
 32            Microsoft.Office.Interop.Owc11.ChartSpace ThisChart = new  Microsoft.Office.Interop.Owc11.ChartSpaceClass();
 33            Microsoft.Office.Interop.Owc11.ChChart ThisChChart  = ThisChart.Charts.Add(0);
 34            Microsoft.Office.Interop.Owc11.ChSeries ThisChSeries = ThisChChart.SeriesCollection.Add(0);
 35
 36            //显示图例
 37            ThisChChart.HasLegend = true;
 38            //标题
 39            ThisChChart.HasTitle = true;
 40            ThisChChart.Title.Caption = "统计图";
 41
 42            //给定x,y轴图示说明
 43            ThisChChart.Axes[0].HasTitle = true;
 44            ThisChChart.Axes[1].HasTitle = true;
 45            ThisChChart.Axes[0].Title.Caption = "月份";
 46            ThisChChart.Axes[1].Title.Caption = "数量";
 47
 48            //图表类型
 49            ThisChChart.Type = Microsoft.Office.Interop.Owc11.ChartChartTypeEnum.chChartTypeColumnClustered3D;
 50            //旋转
 51            ThisChChart.Rotation  = 360;
 52            ThisChChart.Inclination = 10;
 53            //背景颜色
 54            ThisChChart.PlotArea.Interior.Color = "red";
 55            //底色
 56            ThisChChart.PlotArea.Floor.Interior.Color = "green";
 57
 58            ThisChChart.Overlap = 50;
 59
 60            ////给定series的名字
 61            ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimSeriesNames,Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(),"日期");
 62            //给定分类
 63            ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimCategories,Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(),strCategory);
 64            //给定值
 65            ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimValues,Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(),strValue);
 66            //导出图像文件
 67            try
 68            {
 69                
 70                ThisChart.ExportPicture(Server.MapPath("chart.gif"),"gif",600,350);
 71                Response.Write( "<IMG SRC='" + Server.MapPath("chart.gif")  + "'/>");
 72            }

 73            catch(Exception ee)
 74            {
 75            
 76            }

 77            
 78//            object [] objarr=new object[3];
 79//            objarr[0]=12;
 80//            objarr[1]=13;
 81//            objarr[2]=14;
 82//            DataTable dt=new DataTable();
 83//            dt.Columns.Add("id");
 84//            dt.Columns.Add("wei");
 85//            dt.Columns.Add("hei");
 86//            dt.Rows.Add(objarr);
 87//            DataSet ds=new DataSet();
 88//            ds.Tables.Add(dt);
 89//            Response.Write(this.toChartLine3(ds,"100","","adasd","sdasad","sadsadsa"));
 90        }

 91
 92        #region Web 窗体设计器生成的代码
 93        override protected void OnInit(EventArgs e)
 94        {
 95            //
 96            // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
 97            //
 98            InitializeComponent();
 99            base.OnInit(e);
100        }

101        
102        /// <summary>
103        /// 设计器支持所需的方法 - 不要使用代码编辑器修改
104        /// 此方法的内容。
105        /// </summary>

106        private void InitializeComponent()
107        {    
108            this.Load += new System.EventHandler(this.Page_Load);
109
110        }

111        #endregion

112        
113    }

114}
里面的注释很详细,如有疑问请发邮件ycguo@nmdsy.com;其余的图表生成,请看帮助OWCDCH11.CHM

posted on 2005-08-30 09:14  网络小贩  阅读(7469)  评论(9编辑  收藏  举报

导航