【转】C# Excel 导入到 Access数据库表(winForm版)

   /// <summary>
         /// 获取Excel文件
        /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void button1_Click(object sender, EventArgs e)
         {
             OpenFileDialog dlg = new OpenFileDialog();
             dlg.Filter = "Excel文件(*.xls)|*.xls";
             if (dlg.ShowDialog() == DialogResult.OK)
             {
                 string filePath = dlg.FileName;
                 this.textBox1.Text = filePath;
             }
         }

         /// <summary>
         /// 导入Excel文件
        /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void button2_Click(object sender, EventArgs e)
         {
             if (textBox1.Text.Length == 0)
             {
                 MessageBox.Show("请选择导入数据的Execl文件");
             }
             else
             {
                 try
                 {
                     OleDbConnectionStringBuilder connectStringBuilder = new OleDbConnectionStringBuilder();
                     connectStringBuilder.DataSource = this.textBox1.Text.Trim();
                     connectStringBuilder.Provider = "Microsoft.Jet.OLEDB.4.0";
                     connectStringBuilder.Add("Extended Properties", "Excel 8.0");
                     using (OleDbConnection cn = new OleDbConnection(connectStringBuilder.ConnectionString))
                     {
                         DataSet ds = new DataSet();
                         string sql = "Select * from [Sheet1$]";
                         OleDbCommand cmdLiming = new OleDbCommand(sql, cn);
                         cn.Open();
                         using (OleDbDataReader drLiming = cmdLiming.ExecuteReader())
                         {
                             ds.Load(drLiming, LoadOption.OverwriteChanges, new string[] { "Sheet1" });
                             DataTable dt = ds.Tables["Sheet1"];
                             if (dt.Rows.Count > 0)
                             {
                                 for (int i = 0; i < dt.Rows.Count; i++)
                                 {
                                     //写入数据库数据
                                    string MySql = "insert into ClientInfo values(‘"+dt.Rows[i]["姓名"].ToString()+"‘,‘"+dt.Rows[i]["姓名"].ToString()
                                         +"‘,‘0‘,‘"+dt.Rows[i]["备注"].ToString()+"‘,‘0‘,‘"+i.ToString()+"‘)";
                                     new DataAccess().SQLExecute(MySql);
                                 }
                                 MessageBox.Show("数据导入成功!");
                             }
                             else
                             {
                                 MessageBox.Show("请检查你的Excel中是否存在数据");
                             }
                         }
                     }
                 }
                 catch (Exception ex)
                 {
                     MessageBox.Show(ex.ToString());
                 }
             }
         }

 /// <summary>
         /// 数据操作通用类
        /// </summary>
         /// <param name="sql"></param>
         /// <returns></returns>
         public bool SQLExecute(string sql)
         {
             try
             {
                 OleDbConnection conn = new OleDbConnection(CONNECT_STRING);
                 conn.Open();
                 OleDbCommand comm = new  OleDbCommand ();
                 comm.Connection = conn;
                 comm.CommandText = sql;
                 comm.ExecuteNonQuery();
                 comm.Connection.Close();
                 conn.Close();
                 return true;
             }
             catch
             {
                 return false;

             }
         }

【转】C# Excel 导入到 Access数据库表(winForm版),布布扣,bubuko.com

【转】C# Excel 导入到 Access数据库表(winForm版)

上一篇:ehcache如何判断缓存数据是否存在--isKeyInCache


下一篇:Oracle直方图导致SQL不走索引.