调用 google方法生成饼图、条形图、表格

来源:互联网 发布:nsga2算法讲解 编辑:程序博客网 时间:2024/05/21 08:42
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WeekReport.aspx.cs" Inherits="IWOMTrends.WeekReport" EnableViewState="false" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server">    <title>报告详情</title>    <link rel="Stylesheet" type="text/css" href="css/Report.css" />    <script type="text/javascript" src="http://www.google.com/jsapi"></script>    <script type="text/javascript">        google.load('visualization', '1', { packages: ['corechart']});            </script>    <script type="text/javascript">         function drawChart(){                     var bid=document.getElementById("<%=HidBrand.ClientID %>");            if(bid.value!='30007'){                drawColumn('ZChart',['负面','中立','正面'],'一周信息量比较',['#C0504D' ,'#4F81BD' , '#9BBB59'],[<%=WeekXValue %>],[<%=WeekValueArr %>],500);                drawColumn('divPositive',['正面'],'一周正面信息量比较',['#9BBB59'],[<%=WeekXValue %>],[<%=Positive %>],330);                drawColumn('divNegative',['负面'],'一周负面信息量比较',['#C0504D'],[<%=WeekXValue %>],[<%=Negative %>],330);                                drawColumn1('divNegService',[<%=NegServiceY %>],'负面媒体类型构成',['#4572A7','#AA4643','#89A54E','#71588F','#4198AF','#DB843D'],[<%=NegServiceX %>],[<%=NegServiceVal %>],550);                drawColumn1('divPostService',[<%=PostServiceY %>],'正面媒体类型构成',['#4572A7','#AA4643','#89A54E','#71588F','#4198AF','#DB843D'],[<%=PostServiceX %>],[<%=PostServiceVal %>],550);                                drawColumn('divNegTopic1',['信息量'],'WSE负面信息地理分布',['#C0504D'],[<%=NegAreaX %>],[<%=NegAreaVal %>],600);                                drawPie('divNegTopic2',[<%=NegTopicX %>],[<%=NegTopicVal %>],'负面话题构成',['#4f81bd','#9bbb59','#8064a2','#c0504d','#f2dddc','#c5d9f1','#e4bf19','#ccc0da','#4bacc6']);                drawPie('divIndustryTopic',[<%=IndustryX %>],[<%=IndustryVal %>],'行业信息内容构成',['#9bbb59','#4f81bd','#c0504d','#8064a2','#e4bf19']);                drawPie('divDeal',[<%=DealDataX %>],[<%=DealDataVal %>],'维护信息的内容情况',['#823331','#933b39','#a1423f','#ae4845','#ba4d4a','#c56765','#ce8a89','#d6a3a2','#dfb9b8','#e7cccc']);            }         }         function drawColumn(divId,areaName,titleValue,colorName,Xvalue,Vvalue,KuanD) {            //var areaName = ['负面','中立','正面'];            var xLables = Xvalue;            var areaValue = Vvalue;            var data = new google.visualization.DataTable();            data.addColumn('string', '品牌');            for (var i = 0; i < areaName.length; ++i) {                data.addColumn('number', areaName[i]);            }            data.addRows(xLables.length);            for (var i = 0; i < xLables.length; ++i) {                data.setCell(i, 0, xLables[i]);            }            for (var i = 0; i < areaName.length; ++i) {                var country = areaValue[i];                for (var x = 0; x < xLables.length; ++x) {                    data.setCell(x, i + 1, country[x]);                }            }            var ac = new google.visualization.ColumnChart(document.getElementById(divId));            ac.draw(data, {                title: titleValue,                titleTextStyle: { fontSize: 16, fontName: '宋体' },                legend: 'top',                chartArea: { width: '70%', height: '60%' },                fontSize: 12,                colors: colorName,                backgroundColor:'#FFFFFF',                isStacked: true,                width: KuanD,                height: 300            });        }                function drawColumn1(divId,areaName,titleValue,colorName,Xvalue,Vvalue,KuanD) {            //var areaName = ['负面','中立','正面'];            var xLables = Xvalue;            var areaValue = Vvalue;            var data = new google.visualization.DataTable();            data.addColumn('string', '品牌');            for (var i = 0; i < areaName.length; ++i) {                data.addColumn('number', areaName[i]);            }            data.addRows(xLables.length);            for (var i = 0; i < xLables.length; ++i) {                data.setCell(i, 0, xLables[i]);            }            for (var i = 0; i < areaName.length; ++i) {                var country = areaValue[i];                for (var x = 0; x < xLables.length; ++x) {                    data.setCell(x, i + 1, country[x]);                }            }            var format = new google.visualization.NumberFormat({ fractionDigits:0, suffix:'%' });                        var ac = new google.visualization.ColumnChart(document.getElementById(divId));            ac.draw(data, {                title: titleValue,                titleTextStyle: { fontSize: 16, fontName: '宋体' },                legend: 'left',                fontSize: 12,                colors: colorName,                backgroundColor:'#FFFFFF',                isStacked: true,                vAxis: { maxValue: 100,logScale:false},                width: KuanD,                height: 300            });        }                function drawPie(id,valueName,valueText,titleText,colorText) {            var areaName = valueName;            var areaValue = valueText;            var data = new google.visualization.DataTable();            data.addColumn('string', '态度');            data.addColumn('number', "帖子数");            data.addRows(areaName.length);            for (var i = 0; i < areaName.length; ++i) {                data.setCell(i, 0, areaName[i]);                data.setCell(i, 1, areaValue[i]);            }            var ac = new google.visualization.PieChart(document.getElementById(id));            ac.draw(data, {                title: titleText,                titleTextStyle: { fontSize: 16, fontName: '微软雅黑' },                fontSize: 10,                legend: 'top',                colors: colorText,                backgroundColor:'#FFFFFF',                fontName:'微软雅黑',                width: 260,                height: 260            });        }                        google.setOnLoadCallback(drawChart);    </script></head><body style="background-color:White;">    <form id="form1" runat="server">        <div id="divDown" runat="server" style="text-align:right; width:100%; margin-top:20px;" class="style1">               <asp:ImageButton ID="lbn_down" runat="server" onclick="lbn_down_Click" ImageUrl="~/images/b-zhoubao.jpg"/>  </div>            <div style="margin-top:15px; width:100%;" runat="server" id="baogao">            <div style="font-size: 20px; text-align: center; font-weight: bold;color: #6192A1">                <%=rTitle %></div>                            <div style="font-size: 14px; font-family:Arial; padding-top: 5px; text-align: center; color: #525556; line-height: 150%;">                <%=rContent %></div>            </div>            <div runat="server" style="font-size: 14px; padding-top: 20px; padding-left:30px; color: #525556; line-height: 150%;" id="Div1">            </div>            <div runat="server" style="font-size: 14px; padding-left:30px; color: #525556; line-height: 150%;" id="div_img">                <div id="ZChart" style="width:652px;"></div>            </div>            <div runat="server" style="font-size: 14px; padding-left:30px; color: #525556; " id="tongji"></div>            <div runat="server" style="font-size: 14px; padding-left:10px; padding-top:20px; color: #525556; line-height: 150%;" id="div3">                <div id="divPositive" style="width:332px; float:left;"></div>                <div id="divNegative" style="width:332px; float:left;"></div>            </div>            <div runat="server" style="font-size: 14px; padding-left:10px; color: #525556; line-height: 150%;" id="div4">                <div id="divNegService" style="width:652px;"></div>            </div>            <div runat="server" style="font-size: 14px; padding-top: 20px; padding-left:30px; color: #525556; line-height: 150%;" id="fumiantongji"></div>            <div runat="server" style="font-size: 14px; padding-left:10px; color: #525556; line-height: 150%;" id="div6">                <div id="divPostService" style="width:652px;"></div>            </div>            <div runat="server" style="font-size: 14px; padding-top: 20px; padding-left:30px; color: #525556; line-height: 150%;" id="prodAttitdeHTML"></div>            <div runat="server" style="font-size: 14px; padding-left:10px; padding-top:20px; color: #525556; line-height: 150%;" id="div5">                <div id="divNegTopic1" style="width:652px;"></div>            </div>            <div runat="server" style="font-size: 14px; padding-top: 20px; padding-left:30px; color: #525556; line-height: 150%;" id="tongji2"></div>            <div runat="server" style="font-size: 14px; padding-left:10px; padding-top:20px; color: #525556; line-height: 150%;" id="div7">                <div id="divNegTopic2" style="width:332px; float:left;"></div>                <div id="divIndustryTopic" style="width:332px; float:left;"></div>            </div>            <div runat="server" style="font-size: 14px; padding-top: 20px; padding-left:30px; color: #525556; line-height: 150%;" id="fumiantongji2"></div>            <div runat="server" style="font-size: 14px; padding-top: 20px; padding-left:30px; color: #525556; line-height: 150%;" id="fumiantongji3"></div>            <div runat="server" style="font-size: 14px; padding-top: 20px; padding-left:30px; color: #525556; line-height: 150%;" id="IndustryHtml"></div>            <div runat="server" style="font-size: 14px; padding-left:10px; padding-top:20px; color: #525556; line-height: 150%;" id="div2">                <div id="divDeal" style="width:652px;"></div>            </div>            <div runat="server" style="font-size: 14px; padding-top: 20px; padding-left:30px; color: #525556; line-height: 150%;" id="DealDataHTML"></div>            <div runat="server" style="font-size: 14px; padding-top: 20px; padding-left:30px; color: #525556; line-height: 150%;" id="DealDataHTML1"></div>            <div runat="server" style="font-size: 14px; padding-top: 20px; padding-left:30px; color: #525556; line-height: 150%;" id="MediaHtml"></div>            <input type="hidden" id="downValue" runat="server" />            <input type="hidden" id="HidBrand" runat="server" />    </form></body></html>

using System;using System.Data;using System.Web.UI;using System.Text;using IWOMTrackerDBLayer.IWOMTrackerBLL;using IWOMTrends.Common;using IWOMTrackerDBLayer.Common;using IWOMTrackerDBLayer.IWOMTrackerModel;namespace IWOMTrends{    public partial class WeekReport : System.Web.UI.Page    {        public LoginUserModel loginUser;        public string rContent;        public string rTitle;        public int brandID = 0;        //图表参数        public string WeekXValue = "";        public string WeekValueArr = "";        public string Positive = "";        public string Negative = "";        public string NegServiceX = "";        public string NegServiceVal = "";        public string NegServiceY = "";        public string PostServiceX = "";        public string PostServiceVal = "";        public string PostServiceY = "";        public string NegAreaX = "";        public string NegAreaVal = "";        public string NegTopicX = "";        public string NegTopicVal = "";        public string IndustryX = "";        public string IndustryVal = "";        public string DealDataX = "";        public string DealDataVal = "";        public string cookievalue = System.Configuration.ConfigurationManager.AppSettings["BrandCookie"].ToString();        protected void Page_Load(object sender, EventArgs e)        {            if (Request["Refere"] != null && Request["Refere"] != "")            { brandID = 20002; }            else            {                loginUser = LoginUserManager.GetLoginUser(true);                //判断权限                if (!CommonFunction.CheckUserQX(loginUser, Request.Cookies[cookievalue]))                    Response.Redirect("~/Login.aspx", true);                brandID = int.Parse(Request.Cookies[cookievalue].Value);            }            this.HidBrand.Value = brandID.ToString();            if (!IsPostBack)            {                GetWeekReport();            }        }        private void GetWeekReport()        {            if (Request.QueryString["zhou"] != null && Request.QueryString["zhou"].ToString() == "week")            {                IWT_Brand brandObj = BrandBLL.GetModel(brandID);                rTitle = brandObj.Brand_Name + "网络口碑监测周报";                                this.divDown.Visible = true;                tongji.Visible = true;                string number = Request["value"].ToString().Substring(0, 1);                string StrDate = Request["value"].ToString().Substring(5, Request["value"].ToString().Substring(5).LastIndexOf("-"));                DateTime dt1 = DateTime.Now;                DateTime dt2 = DateTime.Now;                int index = 0;                DateTime[] Arr_dt = new DateTime[5];                DateTime startdt = Convert.ToDateTime(StrDate + "-1");                DateTime enddt = startdt.AddMonths(1).AddDays(-1);                for (DateTime i = startdt; i <= enddt; i = i.AddDays(1))                {                    if (Convert.ToInt32(i.DayOfWeek) == 1)                    {                        Arr_dt[index] = i;                        index++;                    }                }                if (number == "1")                {                    dt2 = Arr_dt[0];                    dt1 = dt2.AddDays(6);                }                else if (number == "2")                {                    dt2 = Arr_dt[1];                    dt1 = dt2.AddDays(6);                }                else if (number == "3")                {                    dt2 = Arr_dt[2];                    dt1 = dt2.AddDays(6);                }                else if (number == "4")                {                    dt2 = Arr_dt[3];                    dt1 = dt2.AddDays(6);                }                else if (number == "5")                {                    dt2 = Arr_dt[4];                    dt1 = dt2.AddDays(6);                }                if(dt1 > DateTime.Now)                {                     dt1 = DateTime.Now;                 }                rContent = dt2.ToShortDateString() + "至" + dt1.ToShortDateString();                if (brandID == 30001)                {                    FirstAllTable(dt2, dt1);                    SecondNegServiceData(dt2, dt1);                    GetNegAreaData(dt2, dt1);                    FourNegTopicData(dt2, dt1);                    FourNegTopicData1(dt2, dt1);                    FiveIndustryTopic(dt2, dt1);                    SixDealData(dt2, dt1);                    SixDealData1(dt2, dt1);                    SevenMediaData(dt2, dt1);                }            }        }        //第一个表格        private void FirstAllTable(DateTime dt2, DateTime dt1)        {            DataTable dtt = DailyWeeklyBLL.GetAllDataByWeely(brandID, dt2, dt1, ref WeekXValue, ref WeekValueArr, ref Positive, ref Negative, false);            tongji.InnerHtml = CommonFunction.ExportHTML(dtt, "90%", "tblCSS");        }        //第二个表格        private void SecondNegServiceData(DateTime dt2, DateTime dt1)        {            DataTable dtable = DailyWeeklyBLL.GetServiceByWeely(brandID, dt2, dt1, true, ref NegServiceX, ref NegServiceY, ref NegServiceVal, false);            StringBuilder strB = new StringBuilder();            strB.Append(CommonFunction.ExportHTML(dtable, "80%", "tblCSS"));            this.fumiantongji.InnerHtml = strB.ToString();            dtable = DailyWeeklyBLL.GetServiceByWeely(brandID, dt2, dt1, false, ref PostServiceX, ref PostServiceY, ref PostServiceVal, false);            strB = new StringBuilder();            strB.Append(CommonFunction.ExportHTML(dtable, "80%", "tblCSS"));            this.prodAttitdeHTML.InnerHtml = strB.ToString();        }        //第三个表格        private void GetNegAreaData(DateTime dt2, DateTime dt1)        {            DataTable dtable = DailyWeeklyBLL.GetNegAreaData(brandID, dt2, dt1, ref NegAreaX, ref NegAreaVal, false);            StringBuilder strB = new StringBuilder();            strB.Append(CommonFunction.ExportHTML(dtable, "80%", "tblCSS"));            this.tongji2.InnerHtml = strB.ToString();        }        //第四个表格        private void FourNegTopicData(DateTime dt2, DateTime dt1)        {            DataTable dtable = DailyWeeklyBLL.GetNegAreaData1(brandID, dt2, dt1, ref NegTopicX, ref NegTopicVal, false);            StringBuilder strB = new StringBuilder();            strB.Append(CommonFunction.ExportHTML(dtable, "99%", "tblCSS"));            this.fumiantongji2.InnerHtml = strB.ToString();        }        private void FourNegTopicData1(DateTime dt2, DateTime dt1)        {            DataTable dtable = DailyWeeklyBLL.GetNegAreaData11(brandID, dt2, dt1, ref NegTopicX, ref NegTopicVal, false);            StringBuilder strB = new StringBuilder();            strB.Append(CommonFunction.ExportHTML(dtable, "99%", "tblCSS"));            this.fumiantongji3.InnerHtml = strB.ToString();        }        //第五个表格        private void FiveIndustryTopic(DateTime dt2, DateTime dt1)        {            DataTable dtable = DailyWeeklyBLL.GetIndustryData(30006, dt2, dt1, ref IndustryX, ref IndustryVal, false);            StringBuilder strB = new StringBuilder();            strB.Append(CommonFunction.ExportHTML(dtable, "80%", "tblCSS"));            this.IndustryHtml.InnerHtml = strB.ToString();        }        //第六个表格        private void SixDealData(DateTime dt2, DateTime dt1)        {            DataTable dtable = DailyWeeklyBLL.GetDealData(brandID, dt2, dt1, ref DealDataX, ref DealDataVal, false);            StringBuilder strB = new StringBuilder();            strB.Append(CommonFunction.ExportHTML(dtable, "99%", "tblCSS"));            this.DealDataHTML.InnerHtml = strB.ToString();        }        private void SixDealData1(DateTime dt2, DateTime dt1)        {            DataTable dtable = DailyWeeklyBLL.GetDealData1(brandID, dt2, dt1, ref DealDataX, ref DealDataVal, false);            StringBuilder strB = new StringBuilder();            strB.Append(CommonFunction.ExportHTML(dtable, "99%", "tblCSS"));            this.DealDataHTML1.InnerHtml = strB.ToString();        }        //第七个表格        private void SevenMediaData(DateTime dt2, DateTime dt1)        {            DataTable dtable = DailyWeeklyBLL.GetMediaData(brandID, dt2, dt1, false);            StringBuilder strB = new StringBuilder();            strB.Append(CommonFunction.ExportHTML(dtable, "60%", "tblCSS"));            this.MediaHtml.InnerHtml = strB.ToString();        }               //导出        protected void lbn_down_Click(object sender, ImageClickEventArgs e)        {            if (Request.QueryString["zhou"] != null && Request.QueryString["zhou"].ToString() == "week")            {                IWT_Brand brandObj = BrandBLL.GetModel(brandID);                #region 计算日期                this.divDown.Visible = true;                tongji.Visible = true;                string number = Request["value"].ToString().Substring(0, 1);                string StrDate = Request["value"].ToString().Substring(5, Request["value"].ToString().Substring(5).LastIndexOf("-"));                DateTime dt1 = DateTime.Now;                DateTime dt2 = DateTime.Now;                int index = 0;                DateTime[] Arr_dt = new DateTime[5];                DateTime startdt = Convert.ToDateTime(StrDate + "-1");                DateTime enddt = startdt.AddMonths(1).AddDays(-1);                for (DateTime i = startdt; i <= enddt; i = i.AddDays(1))                {                    if (Convert.ToInt32(i.DayOfWeek) == 1)                    {                        Arr_dt[index] = i;                        index++;                    }                }                if (number == "1")                {                    dt2 = Arr_dt[0];                    dt1 = dt2.AddDays(6);                }                else if (number == "2")                {                    dt2 = Arr_dt[1];                    dt1 = dt2.AddDays(6);                }                else if (number == "3")                {                    dt2 = Arr_dt[2];                    dt1 = dt2.AddDays(6);                }                else if (number == "4")                {                    dt2 = Arr_dt[3];                    dt1 = dt2.AddDays(6);                }                else if (number == "5")                {                    dt2 = Arr_dt[4];                    dt1 = dt2.AddDays(6);                }                #endregion                DataTable dt = new DataTable();                dt.Columns.Add(" ");                dt.Columns.Add("  ");                dt.Columns.Add("   ");                dt.Columns.Add("    ");                dt.Columns.Add("     ");                dt.Columns.Add("      ");                dt.Columns.Add("       ");                dt.Columns.Add("        ");                dt.Columns.Add("         ");                dt.Columns.Add("          ");                dt.Columns.Add("           ");                rTitle = brandObj.Brand_Name + "网络口碑监测周报";                rContent = dt2.ToShortDateString() + "至" + dt1.ToShortDateString();                DataRow row = dt.NewRow();                row[0] = rContent + " " + rTitle;                for (int i = 1; i < 11; i++)                {                    row[i] = "";                }                dt.Rows.Add(row);                row = dt.NewRow();                for (int i = 0; i < 11; i++)                {                    row[i] = "";                }                dt.Rows.Add(row);                if (brandID == 30001)                {                    string[] titleArr = new string[10] { "一周信息量", "负面媒体类型构成", "正面媒体类型构成", "WSE负面信息地理分布", "WSE负面话题构成", "", "行业信息内容构成", "维护信息的内容情况", "", "维护信息的媒体" };                    DataTable[] dtArr = new DataTable[10];                    dtArr[0] = DailyWeeklyBLL.GetAllDataByWeely(brandID, dt2, dt1, ref WeekXValue, ref WeekValueArr, ref Positive, ref Negative, false);                    dtArr[1] = DailyWeeklyBLL.GetServiceByWeely(brandID, dt2, dt1, true, ref NegServiceX, ref NegServiceY, ref NegServiceVal, false);                    dtArr[2] = DailyWeeklyBLL.GetServiceByWeely(brandID, dt2, dt1, false, ref PostServiceX, ref PostServiceY, ref PostServiceVal, false);                    dtArr[3] = DailyWeeklyBLL.GetNegAreaData(brandID, dt2, dt1, ref NegAreaX, ref NegAreaVal, false);                    dtArr[4] = DailyWeeklyBLL.GetNegAreaData1(brandID, dt2, dt1, ref NegTopicX, ref NegTopicVal, false);                    dtArr[5] = DailyWeeklyBLL.GetNegAreaData11(brandID, dt2, dt1, ref NegTopicX, ref NegTopicVal, false);                    dtArr[6] = DailyWeeklyBLL.GetIndustryData(30006, dt2, dt1, ref IndustryX, ref IndustryVal, false);                    dtArr[7] = DailyWeeklyBLL.GetDealData(brandID, dt2, dt1, ref DealDataX, ref DealDataVal, false);                    dtArr[8] = DailyWeeklyBLL.GetDealData1(brandID, dt2, dt1, ref DealDataX, ref DealDataVal, false);                    dtArr[9] = DailyWeeklyBLL.GetMediaData(brandID, dt2, dt1, false);                    DataRow drow;                    for (int k = 0; k < dtArr.Length; k++)                    {                        if (dtArr[k] != null && dtArr[k].Rows.Count > 0)                        {                            row = dt.NewRow();                            row[0] = titleArr[k];                            for (int i = 1; i < 11; i++)                            {                                row[i] = "";                            }                            dt.Rows.Add(row);                            foreach (DataRow dr in dtArr[k].Rows)                            {                                drow = dt.NewRow();                                for (int i = 0; i < 11; i++)                                {                                    if (i < dr.ItemArray.Length)                                        drow[i] = dr[i].ToString();                                }                                dt.Rows.Add(drow);                            }                            row = dt.NewRow();                            for (int i = 0; i < 11; i++)                            {                                row[i] = "";                            }                            dt.Rows.Add(row);                        }                    }                    string FileName = brandObj.Brand_Name + "_" + System.DateTime.Parse(Convert.ToString(System.DateTime.Now)).ToString("yyyy-MM-dd");                    DataSet dsett = new DataSet();                    dsett.Tables.Add(dt);                    IWOMTrends.Common.CommonFunction.ExportCSV(dt, Page.Response, FileName, true);                }            }        }    }}

原创粉丝点击