在网上找到了一些,不过自己弄总是不好用,谢谢大侠帮忙搞定一个,

解决方案 »

  1.   

    OWC
      

  2.   

    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.OleDb;   //添加数据操作引用
    using Microsoft.Office.Interop.Owc11;//添加Office组件引用    public partial class _Default : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                //连接数据库并获取特定字符串
                string strSeriesName = "图例1";
                string ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|web.mdb";
                string Sql = "SELECT month,Allcount FROM Chart";
                OleDbConnection myConn = new  OleDbConnection(ConnectString);
                myConn.Open();
                OleDbDataAdapter Da = new OleDbDataAdapter(Sql, myConn);
                DataSet ds = new DataSet();
                Da.Fill(ds);
                //存放月
                string[] MonNum = new string[12];
                //存放数据
                string[] MonCount = new string[12];
                //为数组赋值
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    MonNum[i] = ds.Tables[0].Rows[i][0].ToString();
                    MonCount[i] = ds.Tables[0].Rows[i][1].ToString();            }            //为x轴指定特定字符串,以便显示数据
                string strXdata = String.Empty;
                foreach (string strData in MonNum)     
                {
                    strXdata += strData + "\t";
                }
                  string strYdata = String.Empty;            //为y轴指定特定的字符串,以便与x轴相对应
                foreach (string strValue in MonCount)
                {
                      strYdata += strValue + "\t";
                }
                //创建ChartSpace对象来放置图表
                ChartSpace laySpace = new ChartSpaceClass();
                //在ChartSpace对象中添加图表
                ChChart InsertChart = laySpace.Charts.Add(0);
                //指定绘制图表的类型。类型可以通过OWC.ChartChartTypeEnum枚举值得到
                //InsertChart.Type = ChartChartTypeEnum.chChartTypeLine;//折线图
                //InsertChart.Type = ChartChartTypeEnum.chChartTypeArea;//面积图
                //InsertChart.Type = ChartChartTypeEnum.chChartTypeBarClustered;//条形图
                InsertChart.Type = ChartChartTypeEnum.chChartTypeColumnClustered;//柱形图
                 //指定图表是否需要图例标注
      InsertChart.HasLegend = false;
      InsertChart.HasTitle = true;//为图表添加标题
      InsertChart.Title.Caption = "2006年清清月儿每个月花销流水账";//标题名称
      //为x,y轴添加图示说明
      InsertChart.Axes[0].HasTitle = true;
      InsertChart.Axes[0].Title.Caption = "";//月份
      InsertChart.Axes[1].HasTitle = true;
      InsertChart.Axes[1].Scaling.SplitMinimum = 200;
      InsertChart.Axes[1].Title.Caption = "数量";
      //添加一个series系列
      InsertChart.SeriesCollection.Add(0);
      //给定series系列的名字
      InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimSeriesNames, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, strSeriesName);
     //给定分类
      InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategories, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, strXdata);
     //给定值
       InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues, (int)ChartSpecialDataSourcesEnum.chDataLiteral, strYdata);
      //输出文件.
      string strAbsolutePath = (Server.MapPath(".")) + "\\ShowData.gif <file:///\\showdata.gif\\>";
      laySpace.ExportPicture(strAbsolutePath, "GIF", 400, 250);
      //创建GIF文件的相对路径.
      string strRelativePath = "./ShowData.gif";
      //把图片添加到placeholder中,并在页面上显示
           string strImageTag = "<IMG SRC='" + strRelativePath + "'/>";
      this.PlaceHolder1.Controls.Add(new LiteralControl(strImageTag));  }  }