从Excel向Mysql数据库插入数据

时间:2015-12-05 15:06:57

标签: c# mysql asp.net excel

我想将Excel中的数据插入到我的Mysql数据库中。到目前为止,我已经设法只向数据库插入一列。我试过循环,但似乎无法做到这一点。

我是ASP.NET C#的新手。我可以在PHP中轻松完成这项工作,但我在使用ASP.NET时遇到了困难。

任何人都可以帮我将所有列插入数据库表。

这是我的代码:

 protected void add_Click(object sender, EventArgs e)
{

    if (importfile.HasFile)
    {
        string ex_userid = "";
        string ex_student_id = "";
        string ex_contact_name = "";
        string ex_contact_number = "";
        string ex_group_name = "";
        ex_group_name = groupname.Text;
        ex_userid = (String)(Session["id"]);
        string path = string.Concat((Server.MapPath("~/temp/" + importfile.FileName)));
        importfile.PostedFile.SaveAs(path);
        OleDbConnection oleConn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.15.0;Data Source=" + path + ";Extended Properties=Excel 8.0;");

        oleConn.Open();
        try
        {
            OleDbCommand olecmd = new OleDbCommand("select*from [Sheet1$]", oleConn);
            DataSet ds = new DataSet();
            OleDbDataAdapter adapr = new OleDbDataAdapter(olecmd);
            adapr.Fill(ds);
            DataTable dt = ds.Tables[0];
            OleDbDataReader oleReader = olecmd.ExecuteReader();

            while (oleReader.Read())
            {
                ex_student_id = oleReader[0].ToString();
                ex_contact_name = oleReader[1].ToString();
                ex_contact_number = oleReader[2].ToString();
            }
            string sql = "INSERT INTO contacts (user_id, student_id, contact_name, contact_number, group_name) VALUES (@a, @b, @c, @d, @e)";
            using (MySqlConnection con = new MySqlConnection("Server=localhost;Database=bu-idesk;Uid=root;Pwd=;"))
            {
                con.Open();
                foreach (DataRow r in dt.Rows)
                {
                    MySqlCommand cmd = con.CreateCommand();
                    cmd.CommandText = sql;
                    cmd.Parameters.AddWithValue("@a", ex_userid);
                    cmd.Parameters.AddWithValue("@b", r["Student_id"]);
                    cmd.Parameters.AddWithValue("@c", r["Student_name"]);
                    cmd.Parameters.AddWithValue("@d", r["Student_number"]);
                    cmd.Parameters.AddWithValue("@e", ex_group_name);
                    cmd.ExecuteNonQuery();
                }
                oleConn.Close();
                con.Close();
            }

        }
        catch (MySqlException)
        { 

        } 
    }
}

我的Excel文件:enter image description here

0 个答案:

没有答案