Example #1
0
 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("导出专家信息异常!"));
     }
 }
Example #2
0
        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 = "导出作者信息异常!" }));
            }
        }