当前位置:编程学习 > C#/ASP.NET >>

OWC制作图表的问题谁以前做过的帮忙看看,在线等(100分)

http://blog.csdn.net/21aspnet/archive/2007/03/27/1543320.aspx 按这个列子做出来了 可是生成的图片是分成两截的实在不会改

谁有更好更方便的方法最好 --------------------编程问答-------------------- 沙发... --------------------编程问答-------------------- 我以前自己写的一个例子,你可以参考下,没出现图片2节的问题
http://www.cnblogs.com/xh831213/archive/2006/05/16/401461.html --------------------编程问答-------------------- up


-- --------------------编程问答-------------------- 参考资料:http://blog.sina.com.cn/bigmoneyhunter http://blog.sina.com.cn/bigmoneyhunter  --------------------编程问答-------------------- 很早以前写的了.是用/t分开的..希望能帮到你.
*我的ArrayList里放的是所有的以/t分开的数据.
cat[0]->11/t/22/t/33/t...
cat[1]->4/t/5/t6/t...
cat[..]

/// <summary>
    /// 生成图片
    /// </summary>
    /// <param name="sName">图例</param>
    /// <param name="cat">(x)分类</param>
    /// <param name="value">(y)值</param>
    public void BuildPic(ArrayList sName,ArrayList cat,ArrayList value)
    {
        
        Microsoft.Office.Interop.Owc11.ChartSpace objChart = new Microsoft.Office.Interop.Owc11.ChartSpaceClass();
        Microsoft.Office.Interop.Owc11.ChChart obj = objChart.Charts.Add(0);
        obj.Type = Microsoft.Office.Interop.Owc11.ChartChartTypeEnum.chChartTypeLine;
        //obj.Type = Microsoft.Office.Interop.Owc11.ChartChartTypeEnum.chChartTypeSmoothLine;
        



        //指定图表是否需要图例

        obj.HasLegend = true;

        //给定标题
        obj.HasTitle = true;
        obj.Title.Caption = "总报表图表";

        //给定x,y轴的图示说明
        obj.Axes[0].HasTitle = true;
        obj.Axes[0].Title.Caption = "时 间";
        obj.Axes[1].HasTitle = true;
        obj.Axes[1].Title.Caption = "Y : 值";


        for (int i = 0; i <cat.Count; i++)
        {          
           
            
            //添加一个series
            obj.SeriesCollection.Add(i);

            //给定series的名字

            obj.SeriesCollection[i].SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimSeriesNames,
             +(int)Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral, sName[i].ToString());

            //给定分类(x轴)
            obj.SeriesCollection[i].SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimCategories,
             +(int)Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral, cat[i].ToString());

            //给定值

            obj.SeriesCollection[i].SetData
             (Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimValues,
             (int)Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral, value[i].ToString());
        }
                //strCategory = "";
                //strvalue = "";

                //输出成GIF文件.
                string strAbsolutePath = (Server.MapPath(".")) + "\\" + Session.SessionID + ".gif";
                objChart.ExportPicture(strAbsolutePath, "GIF", 600, 350);

                FileStream file = File.OpenRead(strAbsolutePath);
                byte[] content = new byte[file.Length];
                file.Read(content, 0, content.Length);
                file.Close();
                Response.BinaryWrite(content);
                File.Delete(strAbsolutePath);


     }
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,