public async Task <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 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) { if (string.IsNullOrWhiteSpace(dr[2].ToString().Trim()))//过滤 答题 为空的 行 { continue; } 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(); } //读写分离 做延时 await Task.Delay(2000); #region 更新问答题库缓存 RefreshQuestionInfoListCache(); #endregion return(Content(JsonConvert.SerializeObject(new { Status = 1, Error = "导入成功" }), "text/html")); } else { return(Content(JsonConvert.SerializeObject(new { Status = -1, Error = "请确认xls的sheet名称是否为:问答题库;是否有内容" }), "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")); } }