前台页面:
<div align="center" style="background-color:Beige"> <table style="width: 576px; border-collapse: separate; text-align: center"> <tr><td>Excel导入SQL数据库</td></tr> <tr> <td style="text-align: left"> <asp:FileUpload ID="FileUpload1" runat="server" Width="305px" /> <asp:Button ID="btnToLead" runat="server" OnClick="Button1_Click" Text="导入SQL" /></td> </tr> <tr> <td> <asp:GridView ID="gvExcelEdu" runat="server" Height="64px" Width="100%" AutoGenerateColumns="False"> <Columns> <asp:BoundField DataField="Id" HeaderText="编号" /> <asp:BoundField DataField="userName" HeaderText="用户名" /> <asp:BoundField DataField="passWord" HeaderText="密码" /> </Columns> </asp:GridView> </td> </tr> </table> </div>
后台代码:
注意添加引用
using System.Data.OleDb; using System.Data.SqlClient; string strConn = "Data Source=192.168.0.8;DataBase=BR_BMS;Uid=DP;Pwd=dp"; //链接SQL数据库 //加载事件 protected void Page_Load(object sender, EventArgs e) { SqlConnection cn = new SqlConnection(strConn); cn.Open(); SqlDataAdapter sda = new SqlDataAdapter("select * from Emp_Admin", cn); DataSet ds = new DataSet(); sda.Fill(ds, "Admin"); this.gvExcelEdu.DataSource = ds.Tables["Admin"]; this.gvExcelEdu.DataKeyNames = new string[] { "id" }; this.gvExcelEdu.DataBind(); } // 查询EXCEL电子表格添加到DATASET 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; } // Excel导入数据 protected void Button1_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(("~\\upfiles\\") + 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 id = dr[i]["编号"].ToString();//编号 列名 以下类似 string userName = dr[i]["用户名"].ToString(); string passWord = dr[i]["密码"].ToString();//密码 excel列名【名称不能变,否则就会出错】 string sqlcheck = "select count(*) from Emp_Admin where userName=‘" + userName + "‘And passWord=‘" + passWord + "‘"; //检查用户是否存在 SqlCommand sqlcmd = new SqlCommand(sqlcheck, cn); int count = Convert.ToInt32(sqlcmd.ExecuteScalar()); if (count < 1) { string insertstr = "insert into Emp_Admin (userName,passWord) values(‘" + userName + "‘,‘" + passWord + "‘)"; 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=‘default.aspx‘</script></script> "); continue; } } Response.Write("<script>alert(‘Excle表导入成功!‘);location=‘default.aspx‘</script>"); } cn.Close(); }
时间: 2024-10-06 19:50:41