示例#1
0
 public ActionResult UploadExcelToPID()
 {
     try
     {
         if (Request.Files.Count == 1)
         {
             var file = Request.Files[0];
             if (!file.FileName.Contains(".xlsx") && !file.FileName.Contains(".xls"))
             {
                 return(Json(new { Status = -1, Error = "请上传.xlsx文件或者.xls文件" }, "text/html"));
             }
             var excel = new Tuhu.Provisioning.Controls.ExcelHelper(file.InputStream, file.FileName);
             var dt    = excel.ExcelToDataTable("ImportPID", true);
             return
                 (Json(
                      new
             {
                 Status = 1,
                 Data = (dt != null && dt.Rows.Count > 0) ? JsonConvert.SerializeObject(dt) : "",
                 Count = dt?.Rows.Count
             }, "text/html"));
         }
         else
         {
             return(Json(new { Status = -1, Error = "没有上传任何文件或者一次选择多个文件" }, "text/html"));
         }
     }
     catch (Exception ex)
     {
         return(Json(new { Status = -1, Error = "请检查文件内容格式是否正确\r\n\r\n" + ex.ToString() }, "text/html"));
     }
 }
        public ActionResult AddExport()
        {
            var file = Request.Files[0];

            if (file.ContentType != "application/vnd.ms-excel" && file.ContentType != "application/x-xls")
            {
                return(Content(JsonConvert.SerializeObject(new { Status = -1, Error = "请上传.xlsx文件或者.xls文件" }), "text/html"));
            }

            var excel = new Tuhu.Provisioning.Controls.ExcelHelper(file.InputStream, file.FileName);
            var dt    = excel.ExcelToDataTable("问答题库", true);

            if (dt != null && dt?.Rows?.Count > 0)
            {
                if (dt.Columns.Count != 8)
                {
                    return(Content(JsonConvert.SerializeObject(new { Status = -1, Error = "请确认文档的列是否只有【编码】【标签】【题目】【选项A】【选项B】【选项B】【选项C】【选项D】【正确选项】这几列" }), "text/html"));
                }

                RepositoryManager manager = new RepositoryManager();
                using (var db = manager.BeginTrans())
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        AnswerInfoListEntity entity = new AnswerInfoListEntity()
                        {
                            Tip                = dr[1].ToString(),
                            Answer             = dr[2].ToString(),
                            OptionsA           = dr[3].ToString(),
                            OptionsB           = dr[4].ToString(),
                            OptionsC           = dr[5].ToString(),
                            OptionsD           = dr[6].ToString(),
                            OptionsReal        = dr[7].ToString(),
                            CreateDateTime     = DateTime.Now,
                            LastUpdateDateTime = DateTime.Now,
                            IsEnabled          = true
                        };
                        db.Insert <AnswerInfoListEntity>(entity);
                    }
                    db.Commit();
                }
                return(Content(JsonConvert.SerializeObject(new { Status = 1, Error = "导入成功" }), "text/html"));
            }
            else
            {
                return(Content(JsonConvert.SerializeObject(new { Status = -1, Error = "请确认xls的sheet名称是否为:问答题库;是否有内容" }), "text/html"));
            }
        }
示例#3
0
        /// <summary>
        /// 上传剔除PID
        /// </summary>
        /// <returns></returns>
        public ActionResult UploadExcelToDeletePID()
        {
            try
            {
                if (Request.Files.Count == 1)
                {
                    var file = Request.Files[0];
                    if (!file.FileName.Contains(".xlsx") && !file.FileName.Contains(".xls"))
                    {
                        return(Json(new { Status = -1, Error = "请上传.xlsx文件或者.xls文件" }, "text/html"));
                    }
                    var excel   = new Tuhu.Provisioning.Controls.ExcelHelper(file.InputStream, file.FileName);
                    var dt      = excel.ExcelToDataTable("ImportPID", true);
                    var pidList = dt.Select().Select(t => t[0]?.ToString().Trim()).ToList <string>();
                    //去验证数据的正确性
                    var datas  = SE_GiftManageConfigBLL.GetVW_ProductsModels(pidList);
                    var dtList = (from a in pidList
                                  join b in datas on a equals b.PID into temp
                                  from c in temp.DefaultIfEmpty()
                                  select new
                    {
                        PID = a,
                        DisplayName = c?.DisplayName ?? "PID,不存在,请核对!",
                        TypeName = c?.DisplayName ?? "a"
                    }).OrderBy(t => t.TypeName).ToList();

                    return
                        (Json(
                             new
                    {
                        Status = 1,
                        Data = (dtList != null && dtList.Count > 0) ? JsonConvert.SerializeObject(dtList) : "",
                        Count = dtList?.Count
                    }, "text/html"));
                }
                else
                {
                    return(Json(new { Status = -1, Error = "没有上传任何文件或者一次选择多个文件" }, "text/html"));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { Status = -1, Error = "请检查文件内容格式是否正确\r\n\r\n" + ex.ToString() }, "text/html"));
            }
        }