public ActionResult Export_OnlineOrderInfo() { try { // 1.获取数据集合 List <OnlineOrder> result = OnlineOrderServices.QueryAll(GetOnlineOrderCondition()); var obj = (from p in result select new { OrderID = p.OrderID.ToString(), PKName = p.PKName != null ? p.PKName : "", PlateNo = p.PlateNo, Amount = p.Amount, MonthNum = p.OrderType == OnlineOrderType.MonthCardRecharge ? p.MonthNum.ToString() : string.Empty, PayerNickName = p.PayerNickName != null ? p.PayerNickName : "", SyncResultTimes = p.SyncResultTimes, LastSyncResultTime = p.LastSyncResultTime != DateTime.MinValue ? p.LastSyncResultTime.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty, RefundOrderId = p.RefundOrderId != null ? p.RefundOrderId : "", OrderTypeDes = p.OrderType.GetDescription() != null ? p.OrderType.GetDescription() : "", StatusDes = p.Status.GetDescription(), OrderTime = p.OrderTime.ToString("yyyy-MM-dd HH:mm:ss"), RealPayTime = p.RealPayTime != DateTime.MinValue ? p.RealPayTime.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty, Remark = p.Remark != null? p.Remark : "" //OrderType = (int)p.OrderType, //Status = (int)p.Status, //BWYParkingName = GetBWYParkingName(p.ExternalPKID, gates) }).ToList(); string str = JsonHelper.GetJsonString(obj); var dt = JsonToDataTable(str.ToString()); // 2.设置单元格抬头 // key:实体对象属性名称,可通过反射获取值 // value:Excel列的名称 Dictionary <string, string> cellheader = new Dictionary <string, string> { { "OrderID", "订单编号" }, { "PKName", "车场名称" }, { "PlateNo", "车牌号" }, { "Amount", "支付金额" }, { "MonthNum", "续期月数" }, { "PayerNickName", "支付人" }, { "SyncResultTimes", "同步支付次数" }, { "LastSyncResultTime", "最后同步时间" }, { "RefundOrderId", "退款订单号" }, { "OrderTypeDes", "订单类型" }, { "StatusDes", "订单状态" }, { "OrderTime", "订单时间" }, { "RealPayTime", "支付时间" }, { "Remark", "备注" }, // 3.进行Excel转换操作,并返回转换的文件下载链接 }; return(EntityListToExcel(cellheader, dt, "微信订单信息")); } catch (Exception ex) { throw ex; } }