科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件ASP.NET 2.0中使用OWC生成图表

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文给出了使用ASP.NET 2.0中OWC生成柱状图和饼状图的源代码,供大家参考!

作者:佚名 来源:天极网 2007年9月2日

关键字: ASP.NET OWC 图表

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共19页)

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", "jpg", 500, 450);

//加载图片

Image1.ImageUrl = Server.MapPath(".") + @"\test.jpg";

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", "gif", 500, 450);

//加载图片

Image1.ImageUrl = Server.MapPath(".") + @"\test.gif";

}

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章