プロジェクトに、右の「参照の追加」owcll.dllファイルへowcll最初の参照をインストールするには
そして、Microsoft.Office.Interop.Owc11を使用して、名前空間
この2つのステップが問題ではない場合、あなたはコードを、非常に単純なノックすることができます
コード:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string sql = "select orderNum,count(*) from LawInfo group by orderNum ";
SQLServer server = new SQLServer();
DataSet ds = server.GetResult(sql);
string x = string.Empty;//x为类型
string y = string.Empty;//y为数量
string file = string.Empty;//图片文件存储位置
#region 创建柱形统计报表图形
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
x = ds.Tables[0].Rows[0][0].ToString().Trim();
y = ds.Tables[0].Rows[0][1].ToString().Trim();
foreach (DataRow dr in ds.Tables[0].Rows)
{
x += '\t' + dr[0].ToString().Trim();
y += '\t' + dr[1].ToString().Trim();
}
//创建ChartSpace对象来放置图表
ChartSpace chartspace = new ChartSpace();
//在ChartSpace对象中添加图表,Add方法返回chart对象
ChChart cchart = chartspace.Charts.Add(0);
//指定图表的类型。类型由ChartChartTypeEnum枚举值得到
cchart.Type = ChartChartTypeEnum.chChartTypeColumnClustered;
//指定图表是否需要图例
cchart.HasLegend = true;
//给定标题
cchart.HasTitle = true;
cchart.Title.Caption = "优先级/数量 统计表";
//给定x,y轴的图示说明
cchart.Axes[0].HasTitle = true;
cchart.Axes[0].Title.Caption = "优先级";
cchart.Axes[1].HasTitle = true;
cchart.Axes[1].Title.Caption = "数量";
//添加一个series
cchart.SeriesCollection.Add(0);
//给定分类
cchart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategories,
+(int)ChartSpecialDataSourcesEnum.chDataLiteral, x);
//给定值
cchart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues,
+(int)ChartSpecialDataSourcesEnum.chDataLiteral, y);
//输出成GIF文件.
file = "Imgs/" + Guid.NewGuid().ToString() + ".gif";
chartspace.ExportPicture(Server.MapPath(file), "GIF", 800, 400);
//Response.Clear();
//Response.Write(chartspace);
//Response.End();
}
else
{
file = "imgs/0.gif";
}
#endregion
}
}
これは、もちろん、他の円筒形状を有している、唯一のコードを変更する必要1を実現することができます
//チャートの種類を指定します。列挙するChartChartTypeEnum価値のタイプ
cchart.Type = ChartChartTypeEnum.chChartTypeColumnClustered; //ここに列挙型のクリックの値を変更するには、ゆっくりとそれを自分を試してみてください