using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.Mobile; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.MobileControls; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Data.OracleClient; using System.Text; using OWC = Microsoft.Office.Interop.Owc11; public partial class Default2 : System.Web.UI.MobileControls.MobilePage { protected void Page_Load(object sender, EventArgs e) { Label1.Text = "今天是" + DateTime.Now.ToString("yyyy年MM月dd日"); Label7.Text = "今天是" + DateTime.Now.ToString("yyyy年MM月dd日"); string ConnectionString = "Data Source = JSCDMA.JSCDMA.COM;user = npmdb;password = npmoptr;";//写连接串 OracleConnection conn = new OracleConnection(ConnectionString);//创建新连接 conn.Open(); OracleCommand cmd = conn.CreateCommand(); cmd.CommandText = "Select MSGTXT From sendsms Where to_char(insert_time,'yyyy-MM-dd') = to_char(Sysdate,'yyyy-MM-dd') AND TELNO = '0123456789'";//SQL语句 OracleDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { Label2.Text = dr[0].ToString() ; } cmd.CommandText = "Select MSGTXT From sendsms Where to_char(insert_time,'yyyy-MM-dd') = to_char(Sysdate,'yyyy-MM-dd') AND TELNO = '13327801750'";//SQL语句 dr = cmd.ExecuteReader(); while (dr.Read()) { Label8.Text = dr[0].ToString() ; } DataTable dt = GetData(); string m_Category = GetColumnsStr(dt); string m_Value = GetValuesStr(dt); DrawChart(m_Category,m_Value); } protected DataTable GetData() { try { string ConnectionString = "Data Source = JSCDMA.JSCDMA.COM;user = npmdb;password = npmoptr;";//写连接串 OracleConnection conn = new OracleConnection(ConnectionString);//创建新连接 conn.Open(); OracleCommand cmd = conn.CreateCommand(); cmd.CommandText = "Select to_char(compress_date,'DD') compress_date ,round(erl/10000,2) erl From tmp_send_sms24 Where Name = 'G网' And compress_date > = trunc(sysdate,'month') ORDER BY COMPRESS_DATE ASC";//SQL语句 OracleDataReader dr = cmd.ExecuteReader(); DataTable dt = new DataTable("tch_traffic"); DataColumn col1 = new DataColumn("compress_date"); DataColumn col2 = new DataColumn("erl"); col1.Caption = "日期"; col2.Caption = "话务量"; dt.Columns.Add(col1); dt.Columns.Add(col2); while (dr.Read()) { DataRow RowTemp = dt.NewRow(); RowTemp[0] = dr.GetValue(0); RowTemp[1] = dr.GetValue(1); dt.Rows.Add(RowTemp); } return dt; } catch (Exception ex) { Console.WriteLine(ex.Message); return null; } } private void DrawChart(string m_str,string m_value) { try { OWC.ChartSpace objCSpace = new OWC.ChartSpaceClass(); //在ChartSpace对象中添加图表,Add方法返回chart对象 OWC.ChChart objChart = objCSpace.Charts.Add(0); //指定图表类型,带节点的趋势图 objChart.Type = OWC.ChartChartTypeEnum.chChartTypeSmoothLine; //指定是否需要图例 objChart.HasLegend = false; //设置边框颜色为白色 objChart.Border.Color = "white"; objChart.HasTitle = true; objChart.Title.Caption = "Tch话务量月趋势图"; objChart.Title.Font.Size = 10; objChart.Title.Font.Color = "Red"; objChart.SeriesCollection.Add(0); Microsoft.Office.Interop.Owc11.ChSeries ThisChSeries = objChart.SeriesCollection.Add(0); //给定Series的名字 ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimSeriesNames, Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), "本月"); //给定分类 ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimCategories, Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), m_str); //给定值 ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimValues,Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(),m_value); //导出图像 objCSpace.ExportPicture(Server.MapPath("~/imgs/chart.gif"),"gif",200,211); } catch (Exception ex) { Console.WriteLine(ex.Message); } } private string GetColumnsStr(DataTable dt) { StringBuilder strList = new StringBuilder(); foreach (DataRow r in dt.Rows) { strList.Append(r[0].ToString() + '/t'); } return strList.ToString(); } private string GetValuesStr(DataTable dt) { StringBuilder strList = new StringBuilder(); foreach (DataRow r in dt.Rows) { strList.Append(r[1].ToString() + '/t'); } return strList.ToString(); } protected override void OnViewStateExpire(EventArgs e) { Response.Redirect("Default3.aspx"); } }
用OWC来画曲线图
最新推荐文章于 2017-11-09 20:11:00 发布