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")); } }
/// <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")); } }