1、下载owc11 COM组件
http://www.microsoft.com/downloads/details.aspx?FamilyID=7287252c-402e-4f72-97a5-e0fd290d4b76&displaylang=en
2、注册owc11
在工程中添加 C:\Program Files\Common Files\Microsoft Shared\Web Components\11 文件下的owc11.dll引用 或者按如下图所以添加com
3、在工程中添加
using OWC11;
4、开始coding 举例如下:
public class ChartFactory { public ChartFactory() { InitTypeMap(); // // TODO: 在此处添加构造函数逻辑 // } protected System.Web.UI.WebControls.Image imgHondaLineup; private string[] chartCategoriesArr; private string[] chartValuesArr; private OWC11.ChartChartTypeEnum chartType = OWC11.ChartChartTypeEnum.chChartTypeColumn3D;//默认值 private static Hashtable chartMap = new Hashtable(); private static string chartTypeCh = "垂直柱状图" ; private static string chartTitle = "";
private void InitTypeMap() { chartMap.Clear(); OWC11.ChartChartTypeEnum[] chartTypes = new OWC11.ChartChartTypeEnum[]{ ChartChartTypeEnum.chChartTypeColumnClustered, ChartChartTypeEnum.chChartTypeColumn3D, ChartChartTypeEnum.chChartTypeBarClustered, ChartChartTypeEnum.chChartTypeBar3D, ChartChartTypeEnum.chChartTypeArea, ChartChartTypeEnum.chChartTypeArea3D, ChartChartTypeEnum.chChartTypeDoughnut, ChartChartTypeEnum.chChartTypeLineStacked, ChartChartTypeEnum.chChartTypeLine3D, ChartChartTypeEnum.chChartTypeLineMarkers, ChartChartTypeEnum.chChartTypePie, ChartChartTypeEnum.chChartTypePie3D, ChartChartTypeEnum.chChartTypeRadarSmoothLine, ChartChartTypeEnum.chChartTypeSmoothLine}; string[] chartTypesCh = new string [] {"垂直柱状统计图","3D垂直柱状统计图","水平柱状统计图","3D水平柱状统计图","区域统计图","3D区域统计图","中空饼图","折线统计图","3D折线统计图","折线带点统计图","饼图","3D饼图","网状统计图","弧线统计图"}; for(int i=0;i<chartTypes.Length;i++) { chartMap.Add(chartTypesCh[i],chartTypes[i]); } }
public ChartSpaceClass BuildCharts () { string chartCategoriesStr = String.Join ("\t", chartCategoriesArr); string chartValuesStr = String.Join ("\t", chartValuesArr);
OWC11.ChartSpaceClass oChartSpace = new OWC11.ChartSpaceClass ();
// ------------------------------------------------------------------------ // Give pie and doughnut charts a legend on the bottom. For the rest of // them let the control figure it out on its own. // ------------------------------------------------------------------------
chartType = (ChartChartTypeEnum)chartMap[chartTypeCh];
if (chartType == ChartChartTypeEnum.chChartTypePie || chartType == ChartChartTypeEnum.chChartTypePie3D || chartType == ChartChartTypeEnum.chChartTypeDoughnut) { oChartSpace.HasChartSpaceLegend = true; oChartSpace.ChartSpaceLegend.Position = ChartLegendPositionEnum.chLegendPositionBottom; }
oChartSpace.Border.Color = "blue"; oChartSpace.Charts.Add(0); oChartSpace.Charts[0].HasTitle = true; oChartSpace.Charts[0].Type = chartType; oChartSpace.Charts[0].ChartDepth = 125; oChartSpace.Charts[0].AspectRatio = 80; oChartSpace.Charts[0].Title.Caption = chartTitle; oChartSpace.Charts[0].Title.Font.Bold = true;
oChartSpace.Charts[0].SeriesCollection.Add(0); oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection.Add ();
// ------------------------------------------------------------------------ // If you''''re charting a pie or a variation thereof percentages make a lot // more sense than values... // ------------------------------------------------------------------------ if (chartType == ChartChartTypeEnum.chChartTypePie || chartType == ChartChartTypeEnum.chChartTypePie3D || chartType == ChartChartTypeEnum.chChartTypeDoughnut) { oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0].HasPercentage = true; oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0].HasValue = false; } // ------------------------------------------------------------------------ // Not so for other chart types where values have more meaning than // percentages. // ------------------------------------------------------------------------ else { oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0].HasPercentage = false; oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0].HasValue = true; } // ------------------------------------------------------------------------ // Plug your own visual bells and whistles here // ------------------------------------------------------------------------ oChartSpace.Charts[0].SeriesCollection[0].Caption = String.Empty; oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0].Font.Name = "verdana"; oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0].Font.Size = 10; oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0].Font.Bold = true; oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0].Font.Color = "red"; oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0].Position = ChartDataLabelPositionEnum.chLabelPositionCenter; if (chartType == ChartChartTypeEnum.chChartTypeBarClustered || chartType == ChartChartTypeEnum.chChartTypeBar3D || chartType == ChartChartTypeEnum.chChartTypeColumnClustered || chartType == ChartChartTypeEnum.chChartTypeColumn3D) { oChartSpace.Charts[0].SeriesCollection[0].DataLabelsCollection[0].Position = ChartDataLabelPositionEnum.chLabelPositionOutsideEnd; } oChartSpace.Charts[0].SeriesCollection[0].SetData (OWC11.ChartDimensionsEnum.chDimCategories, Convert.ToInt32(OWC11.ChartSpecialDataSourcesEnum.chDataLiteral), chartCategoriesStr);
oChartSpace.Charts[0].SeriesCollection[0].SetData (OWC11.ChartDimensionsEnum.chDimValues, Convert.ToInt32(OWC11.ChartSpecialDataSourcesEnum.chDataLiteral), chartValuesStr);
return oChartSpace; }
#region 属性设置 public string[] chartCategoriesArrValue { get { return chartCategoriesArr; } set { chartCategoriesArr = value; } }
public string[] chartValuesArr [1] [2] 下一页 [C语言系列]NET 中C#的switch语句的语法 [聊天工具]Microsoft Office 2007简体中文版最新截图 [聊天工具]Office 2000 服务器扩展 [聊天工具]Office 2000应用技巧两则 [聊天工具]遭Adobe反对 Office 2007被迫放弃PDF支持 [聊天工具]Office 2007中的拼音输入法简单试用_办公软件_Off… [聊天工具]Office 2007 Beta2简体中文版开始内测_办公软件_O… [聊天工具]Office 2007有终极版 售价高达679美元_办公软件_O… [聊天工具]新手入门:Office 2003轻松安装 [聊天工具]WPS Office文档双面打印边距设置方法
|