public ReportRunner() { excelHelper = new ClientExcel(); mgrExcelHelper = new ManagerExcel(); paras = new RunnerParas(); fileMgr = new FileMgr(); clients = new List <Client>(); }
public async Task <ResultJSON <string> > ExportExcel(DateTime start, DateTime end) { try { List <Client> list = r.GetClientsForExportExcel(start, end); if (list == null || list.Count == 0) { return new ResultJSON <string> { Code = 503, Msg = "没有相关数据" } } ; var excellist = new List <ClientExcel>(); ClientExcel ce; foreach (var item in list) { ce = new ClientExcel { 个人或公司 = item.Name, 船号或车号 = item.CarNo, 跟进销售 = item.FollowSalesman, 联系人 = item.Contact, 电话 = item.Mobile, 个人账户余额 = item.Balances, 所属公司 = item.Company == null ? "" : item.Company.Name, 陆上或水上 = item.PlaceType == PlaceType.水上 ? "水上" : "陆上", 创建时间 = item.CreatedAt.ToString("yyyy-MM-dd hh:mm"), 备注 = item.Remark }; excellist.Add(ce); } string filePath = Path.Combine(_hostingEnvironment.WebRootPath, @"excel\"); string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + "_客户.xlsx"; Helper.FileHelper.ExportExcelByEPPlus(excellist, filePath + fileName); string filePathURL = string.Format("{0}://{1}/{2}", Request.Scheme, Request.Host, @"excel/" + fileName); //推送到“导出数据” this.option.导出数据AccessToken = AccessTokenContainer.TryGetToken(this.option.CorpId, this.option.导出数据Secret); await MassApi.SendTextCardAsync(option.导出数据AccessToken, option.导出数据AgentId, $"{UserName}导出客户数据到Excel" , $"<div class=\"gray\">操作时间:{DateTime.Now.ToString()}</div>" + $"<div class=\"gray\">导出时间段:{start.ToString()} - {end.ToString()}</div>" , filePathURL, toUser : "******"); return(new ResultJSON <string> { Code = 0, Data = filePathURL }); } catch (Exception e) { return(new ResultJSON <string> { Code = 503, Msg = e.Message }); } }