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才能使用其中的方法。下面是我通过参考文档实现的效果:(柱形图效果)
下面是参考代码:(仅供参考)
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);