private string DownEnrollTpl(string pRequest) { var rp = pRequest.DeserializeJSONTo <APIRequest <JIT.CPOS.BS.BLL.LEventSignUpBLL.DownEnrollTplRP> >(); rp.Parameters.Validate(); var rd = new EmptyRD(); // new JIT.CPOS.BS.BLL.LEventSignUpBLL.DownEnrollTplRD(); DataTable dataTable = PrivateLEventSignUpBLL.DownEnrollTpl(rp.Parameters.EventID, rp.Parameters.Status); //数据获取 Workbook wb = DataTableExporter.WriteXLS(dataTable, 0); string savePath = HttpContext.Current.Server.MapPath(@"~/File/Excel"); if (!System.IO.Directory.Exists(savePath)) { System.IO.Directory.CreateDirectory(savePath); } savePath = savePath + "\\报名人员模板-" + dataTable.TableName + ".xls"; wb.Save(savePath);//保存Excel文件 new ExcelCommon().OutPutExcel(HttpContext.Current, savePath); HttpContext.Current.Response.End(); var rsp = new SuccessResponse <IAPIResponseData>(rd); if (dataTable == null || !(dataTable.Columns.Count > 0)) { rsp.ResultCode = 201; rsp.Message = "生成失败!"; } return(rsp.ToJSON()); }
public void ExportVipInfo(Dictionary <string, string> columns, DataTable dt, string fileName) { Workbook wb = DataTableExporter.WriteXLS(dt, 0); string savePath = HttpContext.Current.Server.MapPath(@"~/File/VipCard"); if (!System.IO.Directory.Exists(savePath)) { System.IO.Directory.CreateDirectory(savePath); } savePath = savePath + "\\" + fileName + DateTime.Now.ToFileTime() + ".xls"; wb.Save(savePath);//保存Excel文件 new ExcelCommon().OutPutExcel(HttpContext.Current, savePath); HttpContext.Current.Response.End(); }
public static string DataTableToExcel(DataTable dataTable, string folderName, string fileNamePre, string postOrGet = "Get") { //数据获取 Workbook wb = DataTableExporter.WriteXLS(dataTable, 0); string savePath = HttpContext.Current.Server.MapPath(@"~/File/Excel/" + folderName); if (!System.IO.Directory.Exists(savePath)) { System.IO.Directory.CreateDirectory(savePath); } string fileName = fileNamePre + DateTime.Now.ToFileTime() + ".xls"; wb.Save(savePath + "\\" + fileName);//保存Excel文件 if (postOrGet.ToLower() == "get") { OutputExcel(HttpContext.Current, savePath); HttpContext.Current.Response.End(); } return(@"/File/Excel/" + folderName + "/" + fileName); }
private void ExportTable(Dictionary <string, string> columns, DataTable dt, string fileName) { DataColumn dc = new DataColumn(); dt = dt.DefaultView.ToTable(false, columns.Keys.ToArray()); foreach (DataColumn c in dt.Columns) { string title; columns.TryGetValue(c.ColumnName, out title); c.ColumnName = title; } Workbook wb = DataTableExporter.WriteXLS(dt, 0); string savePath = HttpContext.Current.Server.MapPath(@"~/File/Vip"); if (!System.IO.Directory.Exists(savePath)) { System.IO.Directory.CreateDirectory(savePath); } savePath = savePath + "\\" + fileName + DateTime.Now.ToFileTime() + ".xls"; wb.Save(savePath);//保存Excel文件 new ExcelCommon().OutPutExcel(HttpContext.Current, savePath); HttpContext.Current.Response.End(); }
public string ExportStaff(string pRequest) { var rd = new APIResponse <ExportStaffRD>(); var rdData = new ExportStaffRD(); var rp = pRequest.DeserializeJSONTo <APIRequest <ExportStaffRP> >(); if (rp.Parameters == null) { throw new ArgumentException(); } if (rp.Parameters != null) { rp.Parameters.Validate(); } var loggingSessionInfo = new LoggingSessionManager().CurrentSession; try { //获取普通员工employee角色标识 string roleId = string.Empty; var appSysService = new AppSysService(loggingSessionInfo); RoleModel list = new RoleModel(); string key = "D8C5FF6041AA4EA19D83F924DBF56F93"; list = appSysService.GetRolesByAppSysId(key, 1000, 0, "", "", ""); foreach (var item in list.RoleInfoList) { if (item.Role_Code.ToLower() == "employee") { roleId = item.Role_Id; break; } } if (string.IsNullOrEmpty(roleId) || roleId == "") { throw new APIException("employee的roleId未获取到") { ErrorCode = 103 } } ; rp.Parameters.ExportType = rp.Parameters.ExportType.ToLower(); //所有页 if (rp.Parameters.ExportType == "allpage") { rp.Parameters.PageIndex = 0; rp.Parameters.PageSize = 5000; } //数据获取 T_UserBLL userBll = new T_UserBLL(loggingSessionInfo); int totalPage = 0; QueryUserEntity entity = new QueryUserEntity(); entity.QUserName = rp.Parameters.Keyword; entity.QUnitID = rp.Parameters.UnitID; entity.QJobFunctionID = rp.Parameters.JobFunctionID; entity.QRoleID = roleId; DataTable dTable = userBll.GetUserList(rp.Parameters.UserID, rp.Parameters.PageIndex, rp.Parameters.PageSize, out totalPage, entity); //过滤选择的员工 if (rp.Parameters.ExportType == "select") { string[] ids = rp.Parameters.StaffIds.Split(','); string strIds = "'',"; for (int i = 0; i < ids.Length; i++) { strIds += "'" + ids[i] + "',"; } strIds = strIds.Substring(0, strIds.Length - 1); DataRow[] drs = dTable.Select("UserID in (" + strIds + ")"); DataTable d = dTable.Clone(); foreach (var item in drs) { d.ImportRow(item); } dTable = d; } else if (rp.Parameters.ExportType == "noselect") { dTable = dTable.Clone(); } //排序 DataView dv = dTable.DefaultView; string sort = string.IsNullOrEmpty(rp.Parameters.sort) ? "UserEmail asc" : rp.Parameters.sort; sort = "UserStatus desc," + sort; dv.Sort = sort; DataTable dt2 = dv.ToTable(); dTable = dt2; //表格标题设置 DataTable lastTable = dTable.DefaultView.ToTable(false, "UserCode", "UserName", "UserNameEn", "UserEmail", "UserGenderT", "UserBirthday", "UserTelephone", "UserCellphone", "DeptName", "JobFuncName", "UserStatusDesc"); //重置标题名称 lastTable.Columns["UserCode"].ColumnName = "用户编码"; lastTable.Columns["UserName"].ColumnName = "姓名"; lastTable.Columns["UserNameEn"].ColumnName = "英文名"; lastTable.Columns["UserEmail"].ColumnName = "邮箱"; lastTable.Columns["UserGenderT"].ColumnName = "性别"; lastTable.Columns["UserBirthday"].ColumnName = "生日"; lastTable.Columns["UserTelephone"].ColumnName = "手机"; lastTable.Columns["UserCellphone"].ColumnName = "电话"; lastTable.Columns["DeptName"].ColumnName = "部门"; lastTable.Columns["JobFuncName"].ColumnName = "职务"; lastTable.Columns["UserStatusDesc"].ColumnName = "状态"; //数据获取 Workbook wb = DataTableExporter.WriteXLS(lastTable, 0); string savePath = HttpContext.Current.Server.MapPath(@"~/File/Excel"); if (!System.IO.Directory.Exists(savePath)) { System.IO.Directory.CreateDirectory(savePath); } savePath = savePath + "\\企信员工-" + lastTable.TableName + ".xls"; wb.Save(savePath);//保存Excel文件 new ExcelCommon().OutPutExcel(HttpContext.Current, savePath); HttpContext.Current.Response.End(); rd.ResultCode = 0; } catch (Exception ex) { rd.ResultCode = 103; rd.Message = ex.Message; } return(rd.ToJSON()); }
private void DoWork() { while (true) { try { ConfigurationManager.RefreshSection("appSettings"); var time = ConfigurationManager.AppSettings["Timing"]; TimeSpan.TryParse(time, out _timeSpan); if (DateTime.Now.TimeOfDay.Hours == _timeSpan.Hours) { //支持配置多客户 string[] customerIDs = ConfigurationManager.AppSettings["CustomerIDs"].Split(','); foreach (string customerID in customerIDs) { loggingSessionInfo = Default.GetBSLoggingSession(customerID, "1"); var eventsService = new LEventsBLL(loggingSessionInfo); LEventsEntity queryEntity = new LEventsEntity(); queryEntity.EventType = 0; var data = eventsService.WEventGetWebEvents(queryEntity, 0, 100000000); foreach (var item in data) { XieHuiBaoBLL b = new XieHuiBaoBLL(loggingSessionInfo, "vip"); List <DefindControlEntity> l = new List <DefindControlEntity>(); PageResultEntity pageEntity = null; try { pageEntity = b.GetPageDataByEventID(l, 100000000, 0, item.EventID); } catch (Exception e) { Loggers.Debug(new DebugLogInfo { Message = string.Format("{0} {1} (EventID:{3})报名人员信息通知邮件发送{2}", DateTime.Now.ToShortDateString(), DateTime.Now.TimeOfDay, "失败", item.EventID) }); Loggers.Exception(new BasicUserInfo(), e); continue; } if (pageEntity.GridData != null) { if (pageEntity.GridData.Rows.Count == 0) { continue; } } GridInitEntity g = GetInitGridDataByEventID(item.EventID); if (pageEntity != null && pageEntity.GridData != null) { #region 替换标题信息 if (g != null && g.GridColumnDefinds != null) { if (pageEntity.GridData.Columns.Contains("ROW_NUMBER")) { pageEntity.GridData.Columns.Remove("ROW_NUMBER"); } if (pageEntity.GridData.Columns.Contains("SignUpID")) { pageEntity.GridData.Columns.Remove("SignUpID"); } if (pageEntity.GridData.Columns.Count == 0) { continue; } for (int i = 0; i < pageEntity.GridData.Columns.Count; i++) { for (int j = 0; j < g.GridColumnDefinds.Count; j++) { if (pageEntity.GridData.Columns[i].ColumnName.ToLower() == g.GridColumnDefinds[j].DataIndex.ToLower()) { pageEntity.GridData.Columns[i].ColumnName = g.GridColumnDefinds[j].ColumnText; break; } } } } #endregion } //数据获取 Workbook wb = DataTableExporter.WriteXLS(pageEntity.GridData, 0); wb.Worksheets[0].Name = "参加活动人员信息"; string savePath = ConfigurationManager.AppSettings["FileURL"]; if (!Directory.Exists(savePath)) { Directory.CreateDirectory(savePath); } savePath = savePath + "/" + item.Title + DateTime.Now.ToString("yyyyMMdd") + ".xls"; wb.Save(savePath);//保存Excel文件 #region 邮件发送 FromSetting fs = new FromSetting(); fs.SMTPServer = ConfigurationManager.AppSettings["SmtpServer"]; fs.SendFrom = ConfigurationManager.AppSettings["MailSendFrom"]; fs.UserName = ConfigurationManager.AppSettings["MailUserName"]; fs.Password = ConfigurationManager.AppSettings["MailUserPassword"]; string mailTo = ConfigurationManager.AppSettings["MailTo"]; string isSendMail = ConfigurationManager.AppSettings["IsSendMailToCreator"]; //是否发送成功 bool result = false; if (!string.IsNullOrEmpty(mailTo)) { result = Mail.SendMail(fs, mailTo, ConfigurationManager.AppSettings["MailTitle"], ConfigurationManager.AppSettings["Subject"], savePath.Split(',')); } if (isSendMail == "1") { if (!string.IsNullOrEmpty(item.Email)) { if (DateTime.Now < DateTime.Parse(item.EndTime)) { //等于0表示不发送邮件 if (item.MailSendInterval == null || item.MailSendInterval == 0) { continue; } //日期差与间隔时间取余判断是否符合发送邮件日期 int dateDiff = ((TimeSpan)(DateTime.Now.Date - item.LastUpdateTime.Value.Date)).Days; if (dateDiff % item.MailSendInterval != 0) { continue; } result = Mail.SendMail(fs, item.Email, ConfigurationManager.AppSettings["MailTitle"], ConfigurationManager.AppSettings["Subject"], savePath.Split(',')); Loggers.Debug(new DebugLogInfo { Message = string.Format("{0} {1} (EventID:{3})报名人员信息通知邮件发送{2}", DateTime.Now.ToShortDateString(), DateTime.Now.TimeOfDay, result ? "成功" : "失败", item.EventID) }); } } } #endregion } } } } catch (Exception ex) { Loggers.Exception(new BasicUserInfo(), ex); } Thread.Sleep(new TimeSpan(0, 1, 0, 0)); } }
private string ExportCard(string pRequest) { var loggingSessionInfo = new SessionManager().CurrentUserLoginInfo; var cardDepositBLL = new CardDepositBLL(loggingSessionInfo); var rd = new GetCardRD(); var rp = pRequest.DeserializeJSONTo <APIRequest <GetCardRP> >(); rp.Parameters.Validate(); DataSet ds = new DataSet(); if (rp.Parameters.CardIDs != null && rp.Parameters.CardIDs.Length > 0) { ds = cardDepositBLL.GetCardByIDs(rp); } else if (!string.IsNullOrEmpty(rp.Parameters.BatchID)) { ds = cardDepositBLL.GetCardByBatchID(rp); } else { rp.Parameters.PageSize = 1000000; rp.Parameters.PageIndex = 0; ds = cardDepositBLL.PagedSearch(rp.Parameters, loggingSessionInfo.ClientID); } if (ds.Tables.Count > 0) { DataTable dt = new DataTable(); if (ds.Tables[0] != null) { ds.Tables[0].Columns.Add(new DataColumn() { ColumnName = "CardPasswordDecrypt", DataType = typeof(string) }); #region 解密密码 foreach (DataRow item in ds.Tables[0].Rows) { item["CardPasswordDecrypt"] = System.Text.Encoding.UTF8.GetString(cardDepositBLL.DecryptCardPassword((byte[])item["CardPassword"])); } #endregion Dictionary <string, string> exportFields = new Dictionary <string, string>(); exportFields.Add("ChannelTitle", "渠道"); exportFields.Add("CardNo", "卡号"); exportFields.Add("CardPasswordDecrypt", "密码"); exportFields.Add("Amount", "金额"); exportFields.Add("Bonus", "赠送金额"); #region 替换标题信息 DataColumn dc = new DataColumn(); dt = ds.Tables[0].DefaultView.ToTable(false, exportFields.Keys.ToArray()); foreach (DataColumn c in dt.Columns) { string title; exportFields.TryGetValue(c.ColumnName, out title); c.ColumnName = title; } #endregion } //数据获取 Workbook wb = DataTableExporter.WriteXLS(dt, 0); string savePath = HttpContext.Current.Server.MapPath(@"~/File/Excel"); if (!System.IO.Directory.Exists(savePath)) { System.IO.Directory.CreateDirectory(savePath); } savePath = savePath + "\\卡数据导出" + DateTime.Now.ToFileTime() + ".xls"; wb.Save(savePath);//保存Excel文件 new ExcelCommon().OutPutExcel(HttpContext.Current, savePath); HttpContext.Current.Response.End(); } var rsp = new SuccessResponse <IAPIResponseData>(rd); return(rsp.ToJSON()); }