/// <summary> /// 查询EXCEL电子表格添加到DATASET /// </summary> /// <param name="filenameurl">服务器路径</param> /// <param name="table">表名</param> public DataSet ExecleDs(string filenameurl, string table) { string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + filenameurl + ";Extended Properties=\'Excel 8.0; HDR=YES; IMEX=1\'"; OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); DataSet ds = new DataSet(); OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Sheet1$]", conn); odda.Fill(ds, table); return ds; }
protected void LinkButton3_Click(object sender, EventArgs e) { if (FileUpload1.HasFile == false)//HasFile用来检查FileUpload是否有指定文件 { Response.Write("<script>alert(\'请您选择Excel文件\')</script> "); return;//当无文件时,返回 } string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名 if (IsXls != ".xls") { Response.Write("<script>alert(\'只可以选择Excel文件\')</script>"); return;//当选择的不是Excel文件时,返回 } SqlConnection cn = new SqlConnection(strConn); cn.Open(); string filename = DateTime.Now.ToString("yyyymmddhhMMss") + FileUpload1.FileName; //获取Execle文件名 DateTime日期函数 string savePath = Server.MapPath(("~\\updata\\") + filename);//Server.MapPath 获得虚拟服务器相对路径 FileUpload1.SaveAs(savePath); //SaveAs 将上传的文件内容保存在服务器上 DataSet ds = ExecleDs(savePath, filename); //调用自定义方法 DataRow[] dr = ds.Tables[0].Select(); //定义一个DataRow数组 int rowsnum = ds.Tables[0].Rows.Count; if (rowsnum == 0) { Response.Write("<script>alert(\'Excel表为空表,无数据!\')</script>"); //当Excel表为空时,对用户进行提示 } else { for (int i = 0; i < dr.Length; i++) { string code = dr[i]["Code"].ToString();// excel列名【名称不能变,否则就会出错】 string name = dr[i]["Name"].ToString(); string spe = dr[i]["Specification"].ToString(); string sqlcheck = "select count(*) from D_Pro where code=\'" + code + "\'And name=\'" + name + "\'"; //检查用户是否存在 SqlCommand sqlcmd = new SqlCommand(sqlcheck, cn); int count = Convert.ToInt32(sqlcmd.ExecuteScalar()); if (count < 1) { string insertstr = "insert into D_Pro (code,name,specification,par,pid) values(\'" + code + "\',\'" + name +")"; SqlCommand cmd = new SqlCommand(insertstr, cn); try { cmd.ExecuteNonQuery(); } catch (MembershipCreateUserException ex) //捕捉异常 { Response.Write("<script>alert(\'导入内容:" + ex.Message + "\')</script>"); } } else { Response.Write("<script>alert(\'内容重复!禁止导入\');location=\'list.aspx\'</script></script> "); continue; } } Response.Write("<script>alert(\'Excle表导入成功!\');location=\'list.aspx\'</script>"); } cn.Close(); }