首先在VS2005----》网站----》添加引用----》com----->microsoft office web components
private
void
getchart(DataTable dt, int rows)
{
try
{
int count = dt.Rows.Count;
{
try
{
int count = dt.Rows.Count;
if (count < 3)
{
divchart.InnerHtml = "<span style='color:red'>数据少于3条,无法生成图表!</span>";
{
divchart.InnerHtml = "<span style='color:red'>数据少于3条,无法生成图表!</span>";
return;
}
// 存放月
string [] MonNum = new string [count];
// 存放数据
string [] MonCount = new string [count];
string [] MonCount1 = new string [count];
// 为数组赋值
for ( int i = 0 ; i < count; i ++ )
{
MonNum[i] = dt.Rows[i][ 3 ].ToString();
MonCount[i] = dt.Rows[i][ 1 ].ToString();
MonCount1[i] = dt.Rows[i][ 2 ].ToString();
}
string strXdata = String.Empty;
foreach ( string strData in MonNum)
{
strXdata += strData + " \t " ;
}
string strYdata = String.Empty;
foreach ( string strValue in MonCount)
{
strYdata += strValue + " \t " ;
}
string strYdata1 = String.Empty;
foreach ( string strValue in MonCount1)
{
strYdata1 += strValue + " \t " ;
}
ChartSpace laySpace = new ChartSpaceClass();
ChChart InsertChart = laySpace.Charts.Add( 0 );
InsertChart.Type = ChartChartTypeEnum.chChartTypeBarClustered;
string type = " 1 " ;
if (Request.QueryString[ " type " ] != null )
{
type = Request.QueryString[ " type " ].ToString();
}
InsertChart.HasLegend = true ;
InsertChart.HasTitle = true ;
InsertChart.Title.Caption = " 销售记录 " ;
InsertChart.Axes[ 0 ].HasTitle = true ;
InsertChart.Axes[ 0 ].Title.Caption = string .Format( " 日期({0}) " , type == " 1 " ? " 日 " : " 月 " );
// 刻度格式
InsertChart.Axes[ 1 ].HasTitle = true ;
InsertChart.Axes[ 1 ].Scaling.SplitMinimum = 200 ;
InsertChart.Axes[ 1 ].Title.Caption = " 金额(元) " ;
InsertChart.SeriesCollection.Add( 0 );
InsertChart.SeriesCollection[ 0 ].DataLabelsCollection.Add();
InsertChart.SeriesCollection[ 0 ].DataLabelsCollection[ 0 ].HasValue = true ;
InsertChart.SeriesCollection[ 0 ].SetData(ChartDimensionsEnum.chDimSeriesNames, + ( int )ChartSpecialDataSourcesEnum.chDataLiteral, " 销售总额 " );
InsertChart.SeriesCollection[ 0 ].SetData(ChartDimensionsEnum.chDimCategories, + ( int )ChartSpecialDataSourcesEnum.chDataLiteral, strXdata);
InsertChart.SeriesCollection[ 0 ].SetData(ChartDimensionsEnum.chDimValues, ( int )ChartSpecialDataSourcesEnum.chDataLiteral, strYdata);
InsertChart.Axes[ 0 ].GroupingType = OWC10.ChartAxisGroupingEnum.chAxisGroupingManual;
InsertChart.Axes[ 0 ].GroupingUnitType = ChartAxisUnitTypeEnum.chAxisUnitMonth;
InsertChart.Axes[ 0 ].NumberFormat = " yyyy-MM " ;
InsertChart.Axes[ 0 ].GroupingUnit = 1 ;
InsertChart.SeriesCollection.Add( 1 );
InsertChart.SeriesCollection[ 1 ].DataLabelsCollection.Add();
InsertChart.SeriesCollection[ 1 ].DataLabelsCollection[ 0 ].HasValue = true ;
InsertChart.SeriesCollection[ 1 ].SetData(ChartDimensionsEnum.chDimSeriesNames, + ( int )ChartSpecialDataSourcesEnum.chDataLiteral, " 已消费 " );
InsertChart.SeriesCollection[ 1 ].SetData(ChartDimensionsEnum.chDimCategories, + ( int )ChartSpecialDataSourcesEnum.chDataLiteral, strXdata);
InsertChart.SeriesCollection[ 1 ].SetData(ChartDimensionsEnum.chDimValues, ( int )ChartSpecialDataSourcesEnum.chDataLiteral, strYdata1);
string fn = DateTime.Now.ToString( " yyyyMMddHHmmss " ) + " .gif " ;
string strAbsolutePath = (Server.MapPath(Config.Temp_Path)) + fn;
int height = rows * (rows > 10 ? 30 : 50);//数据间宽度
laySpace.ExportPicture(strAbsolutePath, "GIF", 660, height);
}
// 存放月
string [] MonNum = new string [count];
// 存放数据
string [] MonCount = new string [count];
string [] MonCount1 = new string [count];
// 为数组赋值
for ( int i = 0 ; i < count; i ++ )
{
MonNum[i] = dt.Rows[i][ 3 ].ToString();
MonCount[i] = dt.Rows[i][ 1 ].ToString();
MonCount1[i] = dt.Rows[i][ 2 ].ToString();
}
string strXdata = String.Empty;
foreach ( string strData in MonNum)
{
strXdata += strData + " \t " ;
}
string strYdata = String.Empty;
foreach ( string strValue in MonCount)
{
strYdata += strValue + " \t " ;
}
string strYdata1 = String.Empty;
foreach ( string strValue in MonCount1)
{
strYdata1 += strValue + " \t " ;
}
ChartSpace laySpace = new ChartSpaceClass();
ChChart InsertChart = laySpace.Charts.Add( 0 );
InsertChart.Type = ChartChartTypeEnum.chChartTypeBarClustered;
string type = " 1 " ;
if (Request.QueryString[ " type " ] != null )
{
type = Request.QueryString[ " type " ].ToString();
}
InsertChart.HasLegend = true ;
InsertChart.HasTitle = true ;
InsertChart.Title.Caption = " 销售记录 " ;
InsertChart.Axes[ 0 ].HasTitle = true ;
InsertChart.Axes[ 0 ].Title.Caption = string .Format( " 日期({0}) " , type == " 1 " ? " 日 " : " 月 " );
// 刻度格式
InsertChart.Axes[ 1 ].HasTitle = true ;
InsertChart.Axes[ 1 ].Scaling.SplitMinimum = 200 ;
InsertChart.Axes[ 1 ].Title.Caption = " 金额(元) " ;
InsertChart.SeriesCollection.Add( 0 );
InsertChart.SeriesCollection[ 0 ].DataLabelsCollection.Add();
InsertChart.SeriesCollection[ 0 ].DataLabelsCollection[ 0 ].HasValue = true ;
InsertChart.SeriesCollection[ 0 ].SetData(ChartDimensionsEnum.chDimSeriesNames, + ( int )ChartSpecialDataSourcesEnum.chDataLiteral, " 销售总额 " );
InsertChart.SeriesCollection[ 0 ].SetData(ChartDimensionsEnum.chDimCategories, + ( int )ChartSpecialDataSourcesEnum.chDataLiteral, strXdata);
InsertChart.SeriesCollection[ 0 ].SetData(ChartDimensionsEnum.chDimValues, ( int )ChartSpecialDataSourcesEnum.chDataLiteral, strYdata);
InsertChart.Axes[ 0 ].GroupingType = OWC10.ChartAxisGroupingEnum.chAxisGroupingManual;
InsertChart.Axes[ 0 ].GroupingUnitType = ChartAxisUnitTypeEnum.chAxisUnitMonth;
InsertChart.Axes[ 0 ].NumberFormat = " yyyy-MM " ;
InsertChart.Axes[ 0 ].GroupingUnit = 1 ;
InsertChart.SeriesCollection.Add( 1 );
InsertChart.SeriesCollection[ 1 ].DataLabelsCollection.Add();
InsertChart.SeriesCollection[ 1 ].DataLabelsCollection[ 0 ].HasValue = true ;
InsertChart.SeriesCollection[ 1 ].SetData(ChartDimensionsEnum.chDimSeriesNames, + ( int )ChartSpecialDataSourcesEnum.chDataLiteral, " 已消费 " );
InsertChart.SeriesCollection[ 1 ].SetData(ChartDimensionsEnum.chDimCategories, + ( int )ChartSpecialDataSourcesEnum.chDataLiteral, strXdata);
InsertChart.SeriesCollection[ 1 ].SetData(ChartDimensionsEnum.chDimValues, ( int )ChartSpecialDataSourcesEnum.chDataLiteral, strYdata1);
string fn = DateTime.Now.ToString( " yyyyMMddHHmmss " ) + " .gif " ;
string strAbsolutePath = (Server.MapPath(Config.Temp_Path)) + fn;
int height = rows * (rows > 10 ? 30 : 50);//数据间宽度
laySpace.ExportPicture(strAbsolutePath, "GIF", 660, height);
divchart.InnerHtml
=
"
<img src='/upload/temp/
"
+
fn
+
"
'>
"
;
}
catch (Exception ex)
{
Console.Write(ex.Message);
}
}
}
catch (Exception ex)
{
Console.Write(ex.Message);
}
}
本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/archive/2011/05/11/2043241.html,如需转载请自行联系原作者