项目中牵涉到数据报表统计,客户需要生成柱形图进行统计。首先想到用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);
版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明!