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

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

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

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

 

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

 ChartSpace owcChartSpace  =   new  ChartSpace(); // 创建ChartSpace对象来放置图表   

            ChChart chart 
=  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,  " 3000\t4000\t5000\t6000 " );

            
// 给定分类
            chart.SeriesCollection[ 0 ].SetData(ChartDimensionsEnum.chDimCategories,
              
+ ( int )ChartSpecialDataSourcesEnum.chDataLiteral,  " 3月份\t6月份\t9月份\t12月份 " );

            
// 自定义柱形颜色
             string [] colorString  = " red " " blue " " yellow " " green "  };
            
for  ( int  i  =   0 ; i  <   4 ; i ++ )
            {
                chart.SeriesCollection[
0 ].Points[i].Interior.SetSolid(colorString[i]);
            }

            
// 表示柱形图上的单个数据标志
            Microsoft.Office.Interop.Owc11.ChDataLabels dl  =  chart.SeriesCollection[ 0 ].DataLabelsCollection.Add();
            dl.HasValue 
=   true ;

            
// 保存为gif图片
             string  filename  =  DateTime.Now.ToString( " yyyyMMddHHmmssff " +   " .gif " ;

            owcChartSpace.ExportPicture(
@" D:\ "   +  filename,  " GIF " 500 320 );

 

如果需要生成其他图表请参考其他OWC相关资料

OWC绘图控件研究http://www.cnblogs.com/Athos/archive/2007/02/09/645930.html

.net调用OWC生成报表统计图总结http://www.cnblogs.com/dreamof/archive/2008/06/19/1226227.html

 

你可能感兴趣的:(报表)