当前位置导航:炫浪网>>网络学院>>网页制作>>ASP.NET教程

ASP.NET 2.0中使用OWC生成图表

欢迎进入.NET社区论坛,与200万技术人员互动交流 >>进入

  ASP.NET 2.0中,要显示图型的话,可以用MS office 2003的OWC组件,可以十分方便地看到图表。在工程中,首先添加microsoft office web components 11.0的引用就可以了,然后要using Microsoft.Office.Interop.Owc11;

  1、生成柱状图

//创建X坐标的值,表示月份 
int[] Month = new int[3] { 1, 2, 3 }; 
//创建Y坐标的值,表示销售额 
double[] Count = new double[3] { 120,240,220}; 
//创建图表空间 
ChartSpace mychartSpace = new ChartSpace(); 
//在图表空间内添加一个图表对象 
ChChart mychart = mychartSpace.Charts.Add(0); 
//设置图表类型,本例使用柱形 
mychart.Type = ChartChartTypeEnum.chChartTypeColumnClustered; 
//设置图表的一些属性 
//是否需要图例 
mychart.HasLegend = true; 
//是否需要主题 
mychart.HasTitle = true; 
//主题内容 
mychart.Title.Caption = "一季度总结"; 
//设置x,y坐标 
mychart.Axes[0].HasTitle = true; 
mychart.Axes[0].Title.Caption = "月份"; 
mychart.Axes[1].HasTitle = true; 
mychart.Axes[1].Title.Caption = "销量"; 
//添加三个图表块 
mychart.SeriesCollection.Add(0); 
mychart.SeriesCollection.Add(0); 
mychart.SeriesCollection.Add(0); 
//设置图表块的属性 
//标题 
mychart.SeriesCollection[0].Caption = "一月份"; 
//X坐标的值属性 
mychart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategories, 
  (int)ChartSpecialDataSourcesEnum.chDataLiteral, Month[0]); 
//y坐标的值属性 
mychart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues, 
  (int)ChartSpecialDataSourcesEnum.chDataLiteral, Count[0]); 
//第二个块 
mychart.SeriesCollection[1].Caption = "二月份"; 
//X坐标的值属性 
mychart.SeriesCollection[1].SetData(ChartDimensionsEnum.chDimCategories, 
  (int)ChartSpecialDataSourcesEnum.chDataLiteral, Month[1]); 
//y坐标的值属性 
mychart.SeriesCollection[1].SetData(ChartDimensionsEnum.chDimValues, 
  (int)ChartSpecialDataSourcesEnum.chDataLiteral, Count[1]); 
//第三个块 
mychart.SeriesCollection[2].Caption = "三月份"; 
//X坐标的值属性 
mychart.SeriesCollection[2].SetData(ChartDimensionsEnum.chDimCategories, 
  (int)ChartSpecialDataSourcesEnum.chDataLiteral, Month[2]); 
//y坐标的值属性 
mychart.SeriesCollection[2].SetData(ChartDimensionsEnum.chDimValues, 
  (int)ChartSpecialDataSourcesEnum.chDataLiteral, Count[2]); 
//生成图片 
mychartSpace.ExportPicture(Server.MapPath(".") + @"\test.jpg?http://www.xvna.com", "jpg", 500, 450); 
//加载图片 
Image1.ImageUrl = Server.MapPath(".") + @"\test.jpg?http://www.xvna.com"; 
} 
            

  2、生成饼状图

protected void Page_Load(object sender, EventArgs e) 
{ 
//创建X坐标的值,表示月份 
int[] Month ={ 1, 2, 3 }; 
//创建Y坐标的值,表示销售额 
double[] Count ={ 120, 240, 220 }; 
string strDataName = ""; 
string strData = ""; 
//创建图表空间 
ChartSpace mychartSpace = new ChartSpace(); 
//在图表空间内添加一个图表对象 
ChChart mychart = mychartSpace.Charts.Add(0); 
//设置每块饼的数据 
for (int i = 0; i < Count.Length; i++) 
{ 
strDataName += Month[i] + "\t"; 
strData += Count[i].ToString() + "\t"; 
} 
//设置图表类型,本例使用柱形 
mychart.Type = ChartChartTypeEnum.chChartTypePie; 
//设置图表的一些属性 
//是否需要图例 
mychart.HasLegend = true; 
//是否需要主题 
mychart.HasTitle = true; 
//主题内容 
mychart.Title.Caption = "一季度总结"; 
//添加图表块 
mychart.SeriesCollection.Add(0); 
//设置图表块的属性 
//分类属性 
mychart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategories, 
(int)ChartSpecialDataSourcesEnum.chDataLiteral, strDataName); 
//值属性 
mychart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues, 
(int)ChartSpecialDataSourcesEnum.chDataLiteral, strData); 
//显示百分比 
ChDataLabels mytb= mychart.SeriesCollection[0].DataLabelsCollection.Add(); 
mytb.HasPercentage = true; 
//生成图片 
mychartSpace.ExportPicture(Server.MapPath(".") + @"\test.gif?http://www.xvna.com", "gif", 500, 450); 
//加载图片 
Image1.ImageUrl = Server.MapPath(".") + @"\test.gif?http://www.xvna.com"; 
}
            

相关内容
赞助商链接