public void ExportExcel(DateTime StartDate, DateTime EndDate) { try { var conStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; IDbConnection connection = new SqlConnection(conStr); connection.Open(); DynamicParameters dp1 = new DynamicParameters(); dp1.Add("@Id", 2, DbType.Int32); WXBGModel LJ = connection.Query <WXBGModel>("GetWXBG", dp1, commandType: CommandType.StoredProcedure).FirstOrDefault(); DynamicParameters dp = new DynamicParameters(); dp.Add("@PageIndex", 1, DbType.Int32); dp.Add("@PageSize", 5000, DbType.Int32); dp.Add("@StartDate", StartDate, DbType.DateTime); dp.Add("@EndDate", EndDate, DbType.DateTime); SqlMapper.GridReader result = connection.QueryMultiple("prFanHobbyInfoList", dp, commandType: CommandType.StoredProcedure); var recordCount = result.Read <int>().FirstOrDefault(); var model = result.Read <FanHobbyInfo>().ToList(); connection.Dispose(); // 1.获取数据集合 List <FanHobbyInfo> enlist = model; foreach (var item in enlist) { item.Href = LJ.WXBG + " http://www.learnercode.com/Home/BookPage?pageId=" + item.Id; } // 2.设置单元格抬头 // key:实体对象属性名称,可通过反射获取值 // value:Excel列的名称 Dictionary <string, string> cellheader = new Dictionary <string, string> { { "SerialNumber", "序号" }, { "WXNickName", "微信昵称" }, { "WXId", "微信号" }, { "Href", "书单链接" }, }; // 3.进行Excel转换操作,并返回转换的文件下载链接 string urlPath = EntityListToExcel2003(cellheader, enlist, "书单"); System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer(); HttpContext.Response.ContentType = "text/plain"; HttpContext.Response.Write(model == null || model.Count() == 0 ? "" : js.Serialize(urlPath)); // 返回Json格式的内容 } catch (Exception ex) { throw ex; } }
public ActionResult GetLJ() { var conStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; IDbConnection connection = new SqlConnection(conStr); DynamicParameters dp = new DynamicParameters(); dp.Add("@Id", 2, DbType.Int32); WXBGModel result = connection.Query <WXBGModel>("GetWXBG", dp, commandType: CommandType.StoredProcedure).FirstOrDefault(); connection.Dispose(); return(View(result != null ? result : new WXBGModel())); }