public ActionResult ExpertRenderToExcel(AuthorDetailQuery query, string strDict) { try { IAuthorPlatformFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>(); query.JournalID = CurAuthor.JournalID; query.GroupID = 3; IList <AuthorDetailEntity> list = service.GetAuthorDetailList(query); if (list == null || list.Count <= 0) { return(Content("没有数据不能导出,请先进行查询!")); } strDict = Server.UrlDecode(strDict); JavaScriptSerializer s = new JavaScriptSerializer(); Dictionary <string, object> JsonData = (Dictionary <string, object>)s.DeserializeObject(strDict); IDictionary <string, string> dict = ((object[])JsonData.First().Value).Select(p => (Dictionary <string, object>)p).ToDictionary(p => p["key"].ToString(), q => q["value"].ToString()); //获取学历[Education]数据字典显示名-dict2[list[i].Education].ToString() ISiteConfigFacadeService service2 = ServiceContainer.Instance.Container.Resolve <ISiteConfigFacadeService>(); DictValueQuery query2 = new DictValueQuery(); query2.JournalID = CurAuthor.JournalID; query2.DictKey = "Education"; IDictionary <int, string> dict2 = service2.GetDictValueDcit(query2); //获取职称[JobTitle]数据字典显示名-dict3[list[i].JobTitle].ToString() DictValueQuery query3 = new DictValueQuery(); query3.JournalID = CurAuthor.JournalID; query3.DictKey = "JobTitle"; IDictionary <int, string> dict3 = service2.GetDictValueDcit(query3); //替换字段内容 if (dict != null && dict.Count > 0) { for (int i = 0; i < list.Count; i++) { if (list[i].AuthorModel.GroupID == 2) { list[i].ReserveField2 = "作者"; } if (list[i].AuthorModel.Status == 1) { list[i].ReserveField3 = "正常"; } else { list[i].ReserveField3 = "已停用"; } list[i].ReserveField4 = dict2[list[i].Education].ToString(); list[i].ReserveField5 = dict3[list[i].JobTitle].ToString(); } } //开始导出Excel RenderToExcel.ExportListToExcel <AuthorDetailEntity>(list, dict , null , "专家信息_导出" + DateTime.Now.ToString("yyyy-MM-dd"), false, "xls"); return(Content("导出成功!")); } catch (Exception ex) { LogProvider.Instance.Error("导出专家信息出现异常:" + ex.Message); return(Content("导出专家信息异常!")); } }
public JsonResult ExpertPayMoneyRenderToExcel(WorkloadQuery query, string strDict) { try { IAuthorFacadeService service = ServiceContainer.Instance.Container.Resolve <IAuthorFacadeService>(); IAuthorPlatformFacadeService serviceAuthorPlatform = ServiceContainer.Instance.Container.Resolve <IAuthorPlatformFacadeService>(); query.JournalID = CurAuthor.JournalID; query.GroupID = query.GroupID; IList <WorkloadEntity> list = service.GetWorkloadList(query); IList <AuthorDetailEntity> listDetail = serviceAuthorPlatform.GetAuthorDetailList(new AuthorDetailQuery() { GroupID = 3, JournalID = JournalID }); list = (from author in list join authorDetail in listDetail on author.AuthorID equals authorDetail.AuthorID into JionauthorDetail from authorDetail in JionauthorDetail.DefaultIfEmpty() select new WorkloadEntity() { RealName = author.RealName, LoginName = author.LoginName, AlreadyCount = author.AlreadyCount, WaitCount = author.WaitCount, ZipCode = authorDetail.ZipCode, Address = authorDetail.Address }).ToList <WorkloadEntity>(); if (list == null || list.Count <= 0) { return(Json(new { flag = "error", msg = "没有数据不能导出,请先进行查询!" })); } strDict = Server.UrlDecode(strDict); JavaScriptSerializer s = new JavaScriptSerializer(); Dictionary <string, object> JsonData = (Dictionary <string, object>)s.DeserializeObject(strDict); IDictionary <string, string> dict = ((object[])JsonData.First().Value).Select(p => (Dictionary <string, object>)p).ToDictionary(p => p["key"].ToString(), q => q["value"].ToString()); RenderToExcel.ExportListToExcel <WorkloadEntity>(list, dict , null , "专家审稿费信息_导出" + DateTime.Now.ToString("yyyy-MM-dd"), false, "xls"); return(Json(new { flag = "success" })); } catch (Exception ex) { LogProvider.Instance.Error("导出作者信息出现异常:" + ex.Message); return(Json(new { flag = "error", msg = "导出作者信息异常!" })); } }