OWC生成统计报表(柱形图)

OWC生成统计报表(柱形图)

  项目中牵涉到数据报表统计,客户需要生成柱形图进行统计。首先想到用OWC(Office Web Components),owc11控件是office图表控件(owc10是officeXP中的组件,owc11为office2003的组件,组件路径在:C:Program FilesCommon FilesMicrosoft SharedWeb Components11owc11,帮助文件的路径为C:Program FilesCommon FilesMicrosoft SharedWeb Components112052),调用它可以生成三维图、柱状图、饼状图、趋势图和误差图等。)

  要是想OWC生成柱形图表,首先必须引用OWC11才能使用其中的方法。下面是我通过参考文档实现的效果:(柱形图效果)

OWC生成统计报表(柱形图)

  下面是参考代码:(仅供参考)

  ChartSpaceowcChartSpace=newChartSpace();//创建ChartSpace对象来放置图表 

  ChChartchart=owcChartSpace.Charts.Add(0);//在ChartSpace对象中添加图表,Add方法返回chart对象

  chart.Type=ChartChartTypeEnum.chChartTypeColumnClustered;//指定图表的类型。类型由OWC.ChartChartTypeEnum枚举值得到//Microsoft.Office.Interop.OWC.ChartChartTypeEnum

      //指定图表是否需要图例
      chart.HasLegend=true;
      //标题
      chart.HasTitle=true;
      chart.Title.Caption="祝朋友们心想事成";
      //x,y轴的图示说明
      chart.Axes[0].HasTitle=true;
      chart.Axes[0].Title.Caption="X:"+"月份";
      chart.Axes[1].HasTitle=true;
      chart.Axes[1].Title.Caption="Y:"+"收入";
      chart.SeriesCollection.Add(0);//添加一个series
      //给定值
      chart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues,
       +(int)ChartSpecialDataSourcesEnum.chDataLiteral,"3000t4000t5000t6000");
      //给定分类
      chart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategories,
       +(int)ChartSpecialDataSourcesEnum.chDataLiteral,"3月份t6月份t9月份t12月份");
      //自定义柱形颜色
      string[]colorString={"red","blue","yellow","green"};
      for(inti=0;i<4;i++)
      {
        chart.SeriesCollection[0].Points[i].Interior.SetSolid(colorString[i]);
      }
      //表示柱形图上的单个数据标志
      Microsoft.Office.Interop.Owc11.ChDataLabelsdl=chart.SeriesCollection[0].DataLabelsCollection.Add();
      dl.HasValue=true;
      //保存为gif图片
      stringfilename=DateTime.Now.ToString("yyyyMMddHHmmssff")+".gif";
      owcChartSpace.ExportPicture(@"D:"+filename,"GIF",500,320);

posted @ 2009-05-16 08:36  【Nanao】  阅读(504)  评论(0编辑  收藏  举报