一日一步 之使用微软OWCLL插件做图形报表

 首先要安装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;//这里把枚举类型的值更改一下就可以了, 自己慢慢试吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值