随笔 - 12, 文章 - 12, 评论 - 34, 引用 - 1
数据加载中……

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 网络小贩 阅读(4023) 评论(10)  编辑 收藏 网摘

评论

#1楼   回复  引用  查看    

嘿嘿
2005-08-30 09:15 | 蛙蛙池塘      

#2楼   回复  引用    

OWCDCH11.CHM 在哪里?
2005-08-30 19:35 | d[未注册用户]

#3楼[楼主]   回复  引用  查看    

系统驱动器:\Program Files\Common Files\Microsoft Shared\Web Components\11\2052\OWCDCH11.CHM(但是必须安装office 2003)
2005-08-31 09:39 | 杨承国      

#4楼[楼主]   回复  引用  查看    

trAbsFilePath的文件夹设的安全性太高
2005-09-06 19:24 | 杨承国      

#5楼   回复  引用  查看    

不错谢了!
2005-09-21 10:56 | pxx      

#6楼   回复  引用    

请问你到代码实例到是怎么贴成这种效果的
2006-12-28 11:03 | deyuliu[未注册用户]

#7楼   回复  引用    

请问如何在OWC11工具中增加一个自定义的按钮,请给一个例子如吗?
agai@163.com
2007-01-26 11:53 | agai[未注册用户]

#8楼   回复  引用    

怎么在excel格子里输入多行内容 啊 !!1
2007-05-28 10:55 | 林[未注册用户]

#9楼   回复  引用    

你是用OWC11制作一个图表,再输出成一个"GIF”文件。不错。
但我的问题是:如何用OWC11输出一个已存在的图表?(不用制作)。
如:有一个已存在的Excel文件,文件名 myWorkbook ,其中的Sheet1中有一个图表chart1 ,图表chart1 已经做好了,就在文件myWorkbook之中。 怎样用C#操作,把文件myWorkbook之中的图表chart1输出成一个"GIF”文件?

谢谢!
2008-05-10 21:25 | foolman123[未注册用户]



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 225767




相关文章:

相关链接: