ページExcelデータをデータベースに保存

3874 ワード

パソコンの中のExcel表をページに入れて、セッションの中で、セッションの中のデータを抽出してデータベースに保存することができて、データをインポートする時は新しい行為を行うのと同じで、重複があるかどうかを判断して、保存に失敗して、保存してソースファイルが見つからないなどの問題が発生する可能性があります.
function saveImport()
        {
            //          url
            $.post("SaveImport", function (Msg) {
                //     
                $("#modImportExaminee").modal("hide");
                //  
                layer.alert(Msg, { icon: 0, title: "  " });
                //  
                searchTabStudent();
            });
        }
コントローラ:
public ActionResult SaveImport()
        {
            string strMsg = "";
            try
            {
                int successCount = 0;//           
                int oldCount = 0;//                       

                List listStudentVo = new List(); 
                if (Session["ImportExcel"] != null)   session  Excel    
                {  
                  ,    Excel               ,          ,        
                    listStudentVo = Session["ImportExcel"] as List;
                }
            foreach (studentVo student in listStudentVo)
            {
                //                 
                int countStudent = (from tbStudent in myModels.PW_Student
                                    where tbStudent.StudentIDNum == student.StudentIDNum ||
                                          tbStudent.StudentNumber == student.StudentNumber
                                    select tbStudent).Count();
                if (countStudent == 0)
                {
                    //   
                    PW_User dbUser = new PW_User();
                    //  
                    dbUser.UserNuber = student.StudentNumber;
                    //  
                    dbUser.Password = Common.AESEncryptHelper.Encrypt(student.StudentNumber);
                    //   
                    dbUser.UniformAuthenticationCode = student.StudentNumber;
                    //  
                    myModels.PW_User.Add(dbUser);

                    if (myModels.SaveChanges() > 0)
                    {
                        var UserId = dbUser.UserID;

                        //     
          PW_UserRoleDetail dbUserRoleDetail = new PW_UserRoleDetail();
                        //  ID
                        dbUserRoleDetail.UserID = UserId;
                        //    ID
                        dbUserRoleDetail.UserTypeID = 6;
                        //  
                        myModels.PW_UserRoleDetail.Add(dbUserRoleDetail);
                        myModels.SaveChanges();

                        
                        PW_Student dbStudent = new PW_Student();
                      
                        dbStudent.StudentNumber = student.StudentNumber;
                        dbStudent.UserID = UserId;

                        myModels.PW_Student.Add(dbStudent);
                        if (myModels.SaveChanges()>0)
                        {
                            successCount++;
                        }
                        else
                        {
                            strMsg = "       !";
                        }
                    }
                    else
                    {
                        strMsg = "       !";
                    }
                }
                else
                {
                    oldCount++;
                }
            }
            strMsg = "    ,    " + listStudentVo.Count() + "   ,        " + oldCount + " ,        " + successCount + " !";
        }
        catch (Exception)
        {
            strMsg = "    !";
        }
        return Json(strMsg,JsonRequestBehavior.AllowGet);
    }