Ejemplo n.º 1
0
        public void GroupExportCSV()
        {
            string newCsvName = string.Empty;
            string json = string.Empty;
            _rdGroupMgr = new RedirectGroupMgr(mySqlConnectionString);
            DataTable dt = new DataTable();
            DataTable dtCsv = new DataTable();
            string newExcelName = string.Empty;
            try
            {
                _redirectMgr = new RedirectMgr(mySqlConnectionString);
                RedirectQuery query = new RedirectQuery();
                if (!string.IsNullOrEmpty(Request.Params["group_id"]))
                {
                    query.group_id = Convert.ToUInt32(Request.Params["group_id"].ToString());
                }
                #region 歷史
                //RedirectGroup rgModel = new RedirectGroup();
                //rgModel.group_id = Convert.ToUInt32(Request.Params["group_id"].ToString());
                //List<Redirect> rli = _rdGroupMgr.QueryRedirectAll(rgModel.group_id);
                //dt.Columns.Add("日期");
                //// Array rename = rli.GroupBy(m => m.redirect_name).Select(m => m.Key).ToArray();
                //// Array reID = rli.GroupBy(m => m.redirect_id).Select(m => m.Key).ToArray();
                //string[] reArray = null;
                //foreach (var li in rli)
                //{
                //    dt.Columns.Add(li.redirect_name);
                //    reArray[li.redirect_id] = li.redirect_name;
                //}
                //// 查詢點率次數
                //List<RedirectClick> reCli = _rdGroupMgr.QueryRedirectClictAll(null);
                //uint minClick = Convert.ToUInt32(reCli.Min(m => m.click_id).ToString());
                //if (minClick > 3000123123)
                //{
                //    minClick = 3000123123;
                //}
                //string[][] reclickArray = null;
                //foreach (var cli in reCli)
                //{
                //    //minClick = minClick > cli.click_id ? cli.click_id : minClick;
                //    int redid = (int)cli.redirect_id;
                //    string d = cli.click_year + "-" + cli.click_month.ToString().Substring(0, 2) + "-" + cli.click_day.ToString().Substring(0, 2);

                //    if (reclickArray['d'][redid] != null)
                //    {
                //        reclickArray['d'][redid] = reclickArray['a'][redid] + cli.click_total;
                //    }
                //    else
                //    {
                //        reclickArray['d'][redid] = cli.click_total.ToString();
                //    }
                //}
                //// int count = 0;
                #endregion
                int totalCount = 0;
                query.IsPage = false;
                dt = _redirectMgr.GetRedirectList(query, out totalCount);
                dtCsv = dt.DefaultView.ToTable(false, new string[] { "group_id", "group_name", "redirect_url", "redirect_total", "redirect_status" });
                for (int i = 0; i < dtCsv.Rows.Count; i++)
                {
                    switch (dtCsv.Rows[i]["redirect_status"].ToString())
                    {
                        case "1":
                            dtCsv.Rows[i]["invoice_status"] = "正常";
                            break;
                        case "2":
                            dtCsv.Rows[i]["invoice_status"] = "停用";
                            break;
                        default:
                            break;
                    }
                    }
                string[] colname = { "群組編號", "群組名稱", "目的連結", "點閱次數", "狀態" };
                string filename = "group_click_" + DateTime.Now.ToString("yyyyMMdd") + ".csv";
                newExcelName = Server.MapPath(excelPath) + filename;
                if (System.IO.File.Exists(newExcelName))
                    {
                    //設置文件的屬性,以防刪除文件的時候因為文件的屬性造成無法刪除
                    System.IO.File.SetAttributes(newExcelName, FileAttributes.Normal);
                    System.IO.File.Delete(newExcelName);
                }
                StringWriter sw = ExcelHelperXhf.SetCsvFromData(dt, filename);
                Response.Clear();
                Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(filename));
                Response.ContentType = "application/ms-excel";
                Response.ContentEncoding = Encoding.Default;
                Response.Write(sw);
                Response.End();
            }
            catch (Exception ex)
            {
                Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage();
                logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message);
                logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
                log.Error(logMessage);
                json = "false";
            }
        }
Ejemplo n.º 2
0
 public void RedirectClickExport()
 {
     string newCsvName = string.Empty;
     string json = string.Empty;
     _rdGroupMgr = new RedirectGroupMgr(mySqlConnectionString);
     DataTable dt = new DataTable();
     DataTable dtCsv = new DataTable();
     string newExcelName = string.Empty;
     try
     {
         _redirectMgr = new RedirectMgr(mySqlConnectionString);
         RedirectQuery query = new RedirectQuery();
         if (!string.IsNullOrEmpty(Request.Params["group_id"]))
         {
             query.group_id = Convert.ToUInt32(Request.Params["group_id"].ToString());
         }
         int totalCount = 0;
         query.IsPage = false;
         dt = _redirectMgr.GetRedirectList(query, out totalCount);
         dtCsv = dt.DefaultView.ToTable(false, new string[] { "group_id", "group_name", "redirect_url", "redirect_total", "status" });
         string[] colname = { "群組編號", "群組名稱", "目的連結", "點閱次數", "狀態" };
         string filename = "group_click_" + DateTime.Now.ToString("yyyyMMdd") + ".csv";
         newExcelName = Server.MapPath(excelPath) + filename;
         if (System.IO.File.Exists(newExcelName))
         {
             System.IO.File.SetAttributes(newExcelName, FileAttributes.Normal);
             System.IO.File.Delete(newExcelName);
         }
         StringWriter sw = ExcelHelperXhf.SetCsvFromData(dt, filename);
         Response.Clear();
         Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(filename));
         Response.ContentType = "application/ms-excel";
         Response.ContentEncoding = Encoding.Default;
         Response.Write(sw);
         Response.End();
     }
     catch (Exception ex)
     {
         Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage();
         logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message);
         logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
         log.Error(logMessage);
         json = "false";
     }
 }