Esempio n. 1
0
 public HttpResponseBase Export()
 {
     string json = string.Empty;
     try
     {
         EdmGroup query = new EdmGroup();
         if (!string.IsNullOrEmpty(Request.Params["group_id"]))
         {
             query.group_id = Convert.ToUInt32(Request.Params["group_id"]);
         }
         _edmGroup = new EdmGroupMgr(mySqlConnectionString);
         DataTable _dt = _edmGroup.Export(query);
         string fileName = DateTime.Now.ToString("yyyyMMdd_HHmmss") + "." + "csv";
         DataTable _newdt = new DataTable();
         DataRow dr;
         _newdt.Columns.Add("電子信箱", typeof(string));
         _newdt.Columns.Add("訂閱狀態", typeof(string));
         _newdt.Columns.Add("姓名", typeof(string));
         for (int i = 0; i < _dt.Rows.Count; i++)
         {
             dr = _newdt.NewRow();
             _newdt.Rows.Add(dr);
             _newdt.Rows[i]["電子信箱"] = _dt.Rows[i]["email_address"];
             _newdt.Rows[i]["姓名"] = _dt.Rows[i]["email_name"];
             uint email_status = Convert.ToUInt32(_dt.Rows[i]["email_status"].ToString());
             if (email_status == 1)
             {
                 _newdt.Rows[i]["訂閱狀態"] = "已訂閱";
             }
             else
             {
                 _newdt.Rows[i]["訂閱狀態"] = "未訂閱";
             }
         }
         StringWriter sw = ExcelHelperXhf.SetCsvFromData(_newdt, fileName);
         Response.Clear();
         Response.AddHeader("Content-Disposition", "attachment; filename=" + 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 = "{success:false}";
     }
     this.Response.Clear();
     this.Response.Write(json);
     this.Response.End();
     return this.Response;
 }