技术开发 频道

统计图表(利用OWC)


【IT168技术文档】

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.SqlClient; //添加数据操作引用 using Microsoft.Office.Interop.Owc11;//添加Office组件引用 public partial class OWCdrawing : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //连接数据库并获取特定字符串 string strSeriesName = "图例1"; string ConnectString = "Server=(local);DataBase=web;Uid=sa;Pwd=sa"; string Sql = "SELECT month,Allcount FROM Chart"; SqlConnection myConn = new SqlConnection(ConnectString); myConn.Open(); SqlDataAdapter Da = new SqlDataAdapter(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 = ds.Tables[0].Rows[0].ToString(); MonCount = ds.Tables[0].Rows[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"; laySpace.ExportPicture(strAbsolutePath, "GIF", 400, 250); //创建GIF文件的相对路径. string strRelativePath = "./ShowData.gif"; //把图片添加到placeholder中,并在页面上显示 string strImageTag = "<IMG SRC='" + strRelativePath + "'/>"; this.PlaceHolder1.Controls } }
0
相关文章