string
[] DataName
=
{
"
Jan
"
,
"
Feb
"
,
"
Mar
"
,
"
Apr
"
,
"
May
"
,
"
Jun
"
};
int [] Data = { 100 , 20 , 50 , 60 , 240 , 20 };
/// <summary>
/// 利用office组建绘制柱图
/// </summary>
/// <param name="dataName"> 数据名称 </param>
/// <param name="data"> 数据 </param>
public void GraphicsColumnClustered( string [] dataName, int [] data )
{
/ //
/// 以下使用Office Web Components绘制柱状图
// 声明存储数据分类和数据值的字符串
string strDataName = "" ;
string strData = "" ;
for ( int i = 0 ; i < Data.Length; i ++ )
{
strDataName += dataName + '' \t '' ;
strData += data.ToString() + '' \t '' ;
}
// 创建ChartSpace对象来放置图表
OWC.ChartSpace objCSpace = new OWC.ChartSpaceClass();
// 使用ChartSpace对象的Add方法创建图表
OWC.WCChart objChart = objCSpace.Charts.Add( 0 );
// 指定图表的类型
// chChartTypeColumnClustered表示柱状图
// chChartTypeArea(面积图)、chChartTypeBarClustered(条形图)、chChartTypePie(饼图)、chChartTypeRadarLine(雷达线图)、chChartTypeSmoothLine(平滑曲线图)、chChartTypeDoughnut(环形图)
objChart.Type = OWC.ChartChartTypeEnum.chChartTypeColumnClustered;
// 设置图示说明
// 主要包括图例(用颜色表示数据类型)、图题(图标的标题)、X与Y轴的数据说明(一般用来说明各轴上的数据单位)
// 指定图表是否需要图例
objChart.HasLegend = true ;
// 给定标题
objChart.HasTitle = true ;
objChart.Title.Caption = " 上半年月收入图 " ;
// 给定x,y轴的图示说明
objChart.Axes[ 0 ].HasTitle = true ;
objChart.Axes[ 0 ].Title.Caption = " 万元 " ;
objChart.Axes[ 1 ].HasTitle = true ;
objChart.Axes[ 1 ].Title.Caption = " 月份 " ;
// 添加数据
// 设置Chart类对象的SeriesCollection属性。首先是用SeriesCollection的Add方法创建一组数据,然后使用SetData方法具体添加数据
// 添加一组图表数据
objChart.SeriesCollection.Add( 0 );
// 给定该组数据的名字
objChart.SeriesCollection[ 0 ].SetData( OWC.ChartDimensionsEnum.chDimSeriesNames, ( int ) OWC.ChartSpecialDataSourcesEnum.chDataLiteral, " 上半年收入 " );
// 给定数据分类
objChart.SeriesCollection[ 0 ].SetData( OWC.ChartDimensionsEnum.chDimCategories, ( int ) OWC.ChartSpecialDataSourcesEnum.chDataLiteral, strDataName );
// 给定数据值
objChart.SeriesCollection[ 0 ].SetData( OWC.ChartDimensionsEnum.chDimValues, ( int ) OWC.ChartSpecialDataSourcesEnum.chDataLiteral, strData );
// 显示数据
// 使用Chart类对象的ExportPicture方法将生成的图表创建为图片,然后显示
// 输出GIF文件,参数为文件名、格式、图片大小
if ( System.IO.File.Exists( System.Web.HttpContext.Current.Server.MapPath( "" ) + @" \tmpFile.gif " ) )
{
System.IO.File.Delete( System.Web.HttpContext.Current.Server.MapPath( "" ) + @" \tmpFile.gif " );
}
objCSpace.ExportPicture( System.Web.HttpContext.Current.Server.MapPath( "" ) + @" \tmpFile.gif " , " GIF " , 400 , 300 );
// 从生成的图片创建Bitmap对象,输出到Response输出流
Bitmap myPalette = new Bitmap( System.Web.HttpContext.Current.Server.MapPath( "" ) + @" \tmpFile.gif " , true );
myPalette.Save( System.Web.HttpContext.Current.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif );
myPalette.Dispose();
}
int [] Data = { 100 , 20 , 50 , 60 , 240 , 20 };
/// <summary>
/// 利用office组建绘制柱图
/// </summary>
/// <param name="dataName"> 数据名称 </param>
/// <param name="data"> 数据 </param>
public void GraphicsColumnClustered( string [] dataName, int [] data )
{
/ //
/// 以下使用Office Web Components绘制柱状图
// 声明存储数据分类和数据值的字符串
string strDataName = "" ;
string strData = "" ;
for ( int i = 0 ; i < Data.Length; i ++ )
{
strDataName += dataName + '' \t '' ;
strData += data.ToString() + '' \t '' ;
}
// 创建ChartSpace对象来放置图表
OWC.ChartSpace objCSpace = new OWC.ChartSpaceClass();
// 使用ChartSpace对象的Add方法创建图表
OWC.WCChart objChart = objCSpace.Charts.Add( 0 );
// 指定图表的类型
// chChartTypeColumnClustered表示柱状图
// chChartTypeArea(面积图)、chChartTypeBarClustered(条形图)、chChartTypePie(饼图)、chChartTypeRadarLine(雷达线图)、chChartTypeSmoothLine(平滑曲线图)、chChartTypeDoughnut(环形图)
objChart.Type = OWC.ChartChartTypeEnum.chChartTypeColumnClustered;
// 设置图示说明
// 主要包括图例(用颜色表示数据类型)、图题(图标的标题)、X与Y轴的数据说明(一般用来说明各轴上的数据单位)
// 指定图表是否需要图例
objChart.HasLegend = true ;
// 给定标题
objChart.HasTitle = true ;
objChart.Title.Caption = " 上半年月收入图 " ;
// 给定x,y轴的图示说明
objChart.Axes[ 0 ].HasTitle = true ;
objChart.Axes[ 0 ].Title.Caption = " 万元 " ;
objChart.Axes[ 1 ].HasTitle = true ;
objChart.Axes[ 1 ].Title.Caption = " 月份 " ;
// 添加数据
// 设置Chart类对象的SeriesCollection属性。首先是用SeriesCollection的Add方法创建一组数据,然后使用SetData方法具体添加数据
// 添加一组图表数据
objChart.SeriesCollection.Add( 0 );
// 给定该组数据的名字
objChart.SeriesCollection[ 0 ].SetData( OWC.ChartDimensionsEnum.chDimSeriesNames, ( int ) OWC.ChartSpecialDataSourcesEnum.chDataLiteral, " 上半年收入 " );
// 给定数据分类
objChart.SeriesCollection[ 0 ].SetData( OWC.ChartDimensionsEnum.chDimCategories, ( int ) OWC.ChartSpecialDataSourcesEnum.chDataLiteral, strDataName );
// 给定数据值
objChart.SeriesCollection[ 0 ].SetData( OWC.ChartDimensionsEnum.chDimValues, ( int ) OWC.ChartSpecialDataSourcesEnum.chDataLiteral, strData );
// 显示数据
// 使用Chart类对象的ExportPicture方法将生成的图表创建为图片,然后显示
// 输出GIF文件,参数为文件名、格式、图片大小
if ( System.IO.File.Exists( System.Web.HttpContext.Current.Server.MapPath( "" ) + @" \tmpFile.gif " ) )
{
System.IO.File.Delete( System.Web.HttpContext.Current.Server.MapPath( "" ) + @" \tmpFile.gif " );
}
objCSpace.ExportPicture( System.Web.HttpContext.Current.Server.MapPath( "" ) + @" \tmpFile.gif " , " GIF " , 400 , 300 );
// 从生成的图片创建Bitmap对象,输出到Response输出流
Bitmap myPalette = new Bitmap( System.Web.HttpContext.Current.Server.MapPath( "" ) + @" \tmpFile.gif " , true );
myPalette.Save( System.Web.HttpContext.Current.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif );
myPalette.Dispose();
}