public ActionResult StationImport(HttpPostedFileBase filebase) { HttpPostedFileBase file = Request.Files["files"]; string filename; string FileName; string savePath; if (file == null || file.ContentLength <= 0) { ViewBag.error = "文件不能为空"; return(View()); } else { filename = Path.GetFileName(file.FileName); int filesize = file.ContentLength; //获取上传文件的大小单位为字节byte string fileEx = System.IO.Path.GetExtension(filename); //获取上传文件的扩展名 string NoFileName = System.IO.Path.GetFileNameWithoutExtension(filename); //获取无扩展名的文件名 int Maxsize = 4000 * 1024; //定义上传文件的最大空间大小为4M string FileType = ".xls,.xlsx"; //定义上传文件的类型字符串 FileName = NoFileName + DateTime.Now.ToString("yyyyMMddhhmmss") + fileEx; if (!FileType.Contains(fileEx)) { ViewBag.error = "文件类型不对,只能导入xls和xlsx格式的文件"; return(View()); } if (filesize >= Maxsize) { ViewBag.error = "上传文件超过4M,不能上传"; return(View()); } string path = AppDomain.CurrentDomain.BaseDirectory + "uploads/excel/"; savePath = Path.Combine(path, FileName); file.SaveAs(savePath); } //string result = string.Empty; string strConn; strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + savePath + ";" + "Extended Properties=Excel 8.0"; OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); OleDbDataAdapter myCommand = new OleDbDataAdapter("select * from [党员信息$]", strConn); DataSet myDataSet = new DataSet(); try { myCommand.Fill(myDataSet, "ExcelInfo"); } catch (Exception ex) { ViewBag.error = ex.Message; return(View()); } DataTable table = myDataSet.Tables["ExcelInfo"].DefaultView.ToTable(); id = getId(); int count = 1; for (int i = 0; i < table.Rows.Count; i++) { UserInfo u = GetUserInfo(table.Rows[i]); UserLogin User = SetUserLogin(table.Rows[i]); //try //{ if (User.mobileid == "") { Error er = new Error(); er.errorData = DataCommon.getJsonByObject(User); er.errorReason = "电话号码为空不能注册!要补齐电话号码!(" + filename + ")"; er.errorTable = "用户登录表"; er.errorTime = DateTime.Now; db.Errors.Add(er); db.SaveChanges(); continue; } if (DataCommon.CheckIpone(User.mobileid)) { UserLogin uL = db.UserLogin.Where(a => a.mobileid == User.mobileid).FirstOrDefault(); UserInfo uI = db.UserInfo.Where(a => a.userid == uL.id).FirstOrDefault(); if (uI == null) { } else { uI.address = u.address; uI.areaid = u.areaid; uI.company = u.company; uI.duty = u.duty; uI.imgheader = u.imgheader; uI.insertTime = u.insertTime; uI.name = u.name; uI.nationalityGJ = u.nationalityGJ; uI.nationMZ = u.nationMZ; uI.partybrach = u.partybrach; uI.partyinsertTime = u.partyinsertTime; uI.partymemberid = u.partymemberid; uI.qqnumber = u.qqnumber; uI.status = u.status; uI.town = u.town; uI.township = u.township; uI.wxnumber = u.wxnumber; uI.wxopenId = u.wxopenId; uI.zfbnumber = u.zfbnumber; uI.educationXL = u.educationXL; uI.sexy = u.sexy; uI.birthday = u.birthday; db.Set <UserInfo>().Attach(uI); db.Entry <UserInfo>(uI).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } Error er = new Error(); er.errorData = DataCommon.getJsonByObject(User); er.errorReason = "手机号重复注册!(" + filename + ")"; er.errorTable = "用户登录表"; er.errorTime = DateTime.Now; db.Errors.Add(er); db.SaveChanges(); } else { db.UserLogin.Add(User); db.UserInfo.Add(u); db.SaveChanges(); id++; count++; } ////} ////catch ////{ // Error er = new Error(); // er.errorData = DataCommon.getJsonByObject(User); // er.errorReason = "未知错误!"; // er.errorTable = "用户信息表"; // er.errorTime = DateTime.Now; // db.Errors.Add(er); // db.SaveChanges(); //} } if (count == table.Rows.Count) { ViewBag.error = "存入成功!"; } else if (count == 1) { ViewBag.error = "存入失败导入零条数据!"; } else { ViewBag.error = "部分导入不成功!可能是电话号码重复注册!详情看错误日志!"; } System.Threading.Thread.Sleep(2000); return(View()); }