コード例 #1
0
 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;
     }
 }