日期:2014-05-17  浏览次数:20896 次

如何判断导入数据库的excel表是否有重复记录?
现在要向数据库导入一张excel表,通过判断excel表中的姓<vcFirstName>,名<vcLastName>,联系方式<vcTel>来判断数据是否有重复的。如果有重复的话,把这些重复的记录<只用取出iUserID,vcFirstName,vcLastName,vcTel>取出来生成到另外一张excel表中,并可以导出来。最好能写一个方法,谢谢啦!!
------最佳解决方案--------------------
 DataTable dt = new DataTable();
            DataRow row = dt.NewRow();
            List<string> lstKey = new List<string>();
            if (lstKey.Contains(vcFirstName + vcLastName + vcTel))
                row["iUserID"] = iUserID;
                row["vcFirstName"] = vcFirstName;
                row["vcLastName"] = vcLastName;
                row["vcTel"] = vcTel;
                dt.Rows.Add(row);
            else
                lstKey.Add(vcFirstName + vcLastName + vcTel);
            //TODO Export dt
------其他解决方案--------------------
using System.Data.SqlClient;
using System.Data.OleDb;

string strCon = ConfigurationManager.ConnectionStrings["strcon"].ConnectionString;  
SqlConnection cn = new SqlConnection(strCon);
        cn.Open();
        string filename = DateTime.Now.ToString("yyyymmddhhMMss") + FileUpload1.FileName;              //获取Execle文件名  DateTime日期函数
        string savePath = Server.MapPath(("~\\upfiles\\") + filename);//Server.MapPath 获得虚拟服务器相对路径
        FileUpload1.SaveAs(savePath);                        //SaveAs 将上传的文件内容保存在服务器上
        DataSet ds = ExecleDs(savePath, filename);//调用自定义方法(返回一个数据集)
         Session["ds"] =ds;
        DataRow[] dr = ds.Tables[0].Select();            //定义一个DataRow数组
        int rowsnum = ds.Tables[0].Rows.Count;
        if (rowsnum == 0)
        {
            Response.Write("<script>alert('Excel表为空表,无数据!')</script>");
            return;//当Excel表为空时,对用户进行提示
        }
        else
   &n