123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290 |
- using System;
- using System.Data;
- using System.Text;
- namespace Ant.Service.Utilities
- {
- ///// <summary>
- ///// 利用OWC11进行作统计图的封装类。
- ///// 李天平 2005-8-31
- ///// </summary>
- //public class OWCChart11
- //{
- // #region 属性
- // private string _phaysicalimagepath;
- // private string _title;
- // private string _seriesname;
- // private int _picwidth;
- // private int _pichight;
- // private DataTable _datasource;
- // private string strCategory;
- // private string strValue;
- // public string PhaysicalImagePath
- // {
- // set { _phaysicalimagepath = value; }
- // get { return _phaysicalimagepath; }
- // }
- // public string Title
- // {
- // set { _title = value; }
- // get { return _title; }
- // }
- // public string SeriesName
- // {
- // set { _seriesname = value; }
- // get { return _seriesname; }
- // }
- // public int PicWidth
- // {
- // set { _picwidth = value; }
- // get { return _picwidth; }
- // }
- // public int PicHight
- // {
- // set { _pichight = value; }
- // get { return _pichight; }
- // }
- // public DataTable DataSource
- // {
- // set
- // {
- // _datasource = value;
- // strCategory = GetColumnsStr(_datasource);
- // strValue = GetValueStr(_datasource);
- // }
- // get { return _datasource; }
- // }
- // private string GetColumnsStr(System.Data.DataTable dt)
- // {
- // StringBuilder strList = new StringBuilder();
- // foreach (DataRow r in dt.Rows)
- // {
- // strList.Append(r[0].ToString() + '\t');
- // }
- // return strList.ToString();
- // }
- // private string GetValueStr(DataTable dt)
- // {
- // StringBuilder strList = new StringBuilder();
- // foreach (DataRow r in dt.Rows)
- // {
- // strList.Append(r[1].ToString() + '\t');
- // }
- // return strList.ToString();
- // }
- // #endregion
- // public OWCChart11()
- // {
- // }
- // public OWCChart11(string PhaysicalImagePath, string Title, string SeriesName)
- // {
- // _phaysicalimagepath = PhaysicalImagePath;
- // _title = Title;
- // _seriesname = SeriesName;
- // }
- // /// <summary>
- // /// 柱形图
- // /// </summary>
- // /// <returns></returns>
- // public string CreateColumn()
- // {
- // Microsoft.Office.Interop.Owc11.ChartSpace objCSpace = new Microsoft.Office.Interop.Owc11.ChartSpaceClass();//创建ChartSpace对象来放置图表
- // Microsoft.Office.Interop.Owc11.ChChart objChart = objCSpace.Charts.Add(0);//在ChartSpace对象中添加图表,Add方法返回chart对象
- // //指定图表的类型。类型由OWC.ChartChartTypeEnum枚举值得到//Microsoft.Office.Interop.OWC.ChartChartTypeEnum
- // objChart.Type = Microsoft.Office.Interop.Owc11.ChartChartTypeEnum.chChartTypeColumnClustered;
- // //指定图表是否需要图例
- // objChart.HasLegend = true;
- // //标题
- // objChart.HasTitle = true;
- // objChart.Title.Caption = _title;
- // // objChart.Title.Font.Bold=true;
- // // objChart.Title.Font.Color="blue";
- // #region 样式设置
- // // //旋转
- // // objChart.Rotation = 360;//表示指定三维图表的旋转角度
- // // objChart.Inclination = 10;//表示指定三维图表的视图斜率。有效范围为 -90 到 90
- // //背景颜色
- // // objChart.PlotArea.Interior.Color = "red";
- // //底座颜色
- // // objChart.PlotArea.Floor.Interior.Color = "green";
- // //
- // // objChart.Overlap = 50;//单个类别中标志之间的重叠量
- // #endregion
- // //x,y轴的图示说明
- // objChart.Axes[0].HasTitle = true;
- // objChart.Axes[0].Title.Caption = "X : 类别";
- // objChart.Axes[1].HasTitle = true;
- // objChart.Axes[1].Title.Caption = "Y : 数量";
- // //添加一个series
- // Microsoft.Office.Interop.Owc11.ChSeries ThisChSeries = objChart.SeriesCollection.Add(0);
- // //给定series的名字
- // ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimSeriesNames,
- // Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), SeriesName);
- // //给定分类
- // ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimCategories,
- // Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strCategory);
- // //给定值
- // ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimValues,
- // Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strValue);
- // Microsoft.Office.Interop.Owc11.ChDataLabels dl = objChart.SeriesCollection[0].DataLabelsCollection.Add();
- // dl.HasValue = true;
- // // dl.Position=Microsoft.Office.Interop.Owc11.ChartDataLabelPositionEnum.chLabelPositionOutsideEnd;
- // string filename = DateTime.Now.ToString("yyyyMMddHHmmssff") + ".gif";
- // string strAbsolutePath = _phaysicalimagepath + "\\" + filename;
- // objCSpace.ExportPicture(strAbsolutePath, "GIF", _picwidth, _pichight);//输出成GIF文件.
- // return filename;
- // }
- // /// <summary>
- // /// 饼图
- // /// </summary>
- // /// <returns></returns>
- // public string CreatePie()
- // {
- // Microsoft.Office.Interop.Owc11.ChartSpace objCSpace = new Microsoft.Office.Interop.Owc11.ChartSpaceClass();//创建ChartSpace对象来放置图表
- // Microsoft.Office.Interop.Owc11.ChChart objChart = objCSpace.Charts.Add(0);//在ChartSpace对象中添加图表,Add方法返回chart对象
- // //指定图表的类型
- // objChart.Type = Microsoft.Office.Interop.Owc11.ChartChartTypeEnum.chChartTypePie;
- // //指定图表是否需要图例
- // objChart.HasLegend = true;
- // //标题
- // objChart.HasTitle = true;
- // objChart.Title.Caption = _title;
- // //添加一个series
- // Microsoft.Office.Interop.Owc11.ChSeries ThisChSeries = objChart.SeriesCollection.Add(0);
- // //给定series的名字
- // ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimSeriesNames,
- // Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), SeriesName);
- // //给定分类
- // ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimCategories,
- // Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strCategory);
- // //给定值
- // ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimValues,
- // Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strValue);
- // //表示系列或趋势线上的单个数据标志
- // Microsoft.Office.Interop.Owc11.ChDataLabels dl = objChart.SeriesCollection[0].DataLabelsCollection.Add();
- // dl.HasValue = true;
- // dl.HasPercentage = true;
- // //图表绘图区的图例放置在右侧。
- // // dl.Position=Microsoft.Office.Interop.Owc11.ChartDataLabelPositionEnum.chLabelPositionRight;
- // string filename = DateTime.Now.Ticks.ToString() + ".gif";
- // string strAbsolutePath = _phaysicalimagepath + "\\" + filename;
- // objCSpace.ExportPicture(strAbsolutePath, "GIF", _picwidth, _pichight);//输出成GIF文件.
- // return filename;
- // }
- // /// <summary>
- // /// 条形图
- // /// </summary>
- // /// <returns></returns>
- // public string CreateBar()
- // {
- // Microsoft.Office.Interop.Owc11.ChartSpace objCSpace = new Microsoft.Office.Interop.Owc11.ChartSpaceClass();//创建ChartSpace对象来放置图表
- // Microsoft.Office.Interop.Owc11.ChChart objChart = objCSpace.Charts.Add(0);//在ChartSpace对象中添加图表,Add方法返回chart对象
- // //指定图表的类型。类型由OWC.ChartChartTypeEnum枚举值得到//Microsoft.Office.Interop.OWC.ChartChartTypeEnum
- // objChart.Type = Microsoft.Office.Interop.Owc11.ChartChartTypeEnum.chChartTypeBarClustered;
- // //指定图表是否需要图例
- // objChart.HasLegend = true;
- // //标题
- // objChart.HasTitle = true;
- // objChart.Title.Caption = _title;
- // // objChart.Title.Font.Bold=true;
- // // objChart.Title.Font.Color="blue";
- // #region 样式设置
- // // //旋转
- // // objChart.Rotation = 360;//表示指定三维图表的旋转角度
- // // objChart.Inclination = 10;//表示指定三维图表的视图斜率。有效范围为 -90 到 90
- // //背景颜色
- // // objChart.PlotArea.Interior.Color = "red";
- // //底座颜色
- // // objChart.PlotArea.Floor.Interior.Color = "green";
- // //
- // // objChart.Overlap = 50;//单个类别中标志之间的重叠量
- // #endregion
- // //x,y轴的图示说明
- // objChart.Axes[0].HasTitle = true;
- // objChart.Axes[0].Title.Caption = "X : 类别";
- // objChart.Axes[1].HasTitle = true;
- // objChart.Axes[1].Title.Caption = "Y : 数量";
- // //添加一个series
- // Microsoft.Office.Interop.Owc11.ChSeries ThisChSeries = objChart.SeriesCollection.Add(0);
- // //给定series的名字
- // ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimSeriesNames,
- // Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), SeriesName);
- // //给定分类
- // ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimCategories,
- // Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strCategory);
- // //给定值
- // ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimValues,
- // Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strValue);
- // Microsoft.Office.Interop.Owc11.ChDataLabels dl = objChart.SeriesCollection[0].DataLabelsCollection.Add();
- // dl.HasValue = true;
- // // dl.Position=Microsoft.Office.Interop.Owc11.ChartDataLabelPositionEnum.chLabelPositionOutsideEnd;
- // string filename = DateTime.Now.ToString("yyyyMMddHHmmssff") + ".gif";
- // string strAbsolutePath = _phaysicalimagepath + "\\" + filename;
- // objCSpace.ExportPicture(strAbsolutePath, "GIF", _picwidth, _pichight);//输出成GIF文件.
- // return filename;
- // }
- //}
- }
|