赞
踩
首先要安装owcll 并引用到项目中来 右键》添加引用》owcll.dll文件
然后 using Microsoft.Office.Interop.Owc11;这个命名空间
如果这两步没有问题 那么 你就可以敲代码了,很简单的
代码:
- 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
- }
- }
这是圆柱型的 当然会有其他形状的,只需要改一句代码就可以实现
//指定图表的类型。类型由ChartChartTypeEnum枚举值得到
cchart.Type = ChartChartTypeEnum.chChartTypeColumnClustered;//这里把枚举类型的值更改一下就可以了, 自己慢慢试吧
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。