C#将Excel数据导⼊数据库(MySQL或SqlServer)
  最近⼀直很忙,很久没写博客了。今天给⼤家讲解⼀下如何⽤C#将Excel数据导⼊Excel,同时在⽂章最后附上如何⽤sqlserver和mysql⼯具导⼊数据。
1.将excel数据导⼊到DataSet中;
2.将DataSet⾥⾯的数据遍历插⼊到对应的数据库
  需添加引⽤using System.Data; using System.Data.OleDb;
public static DataSet ReadExcel(string filepath)
{
try
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
OleDbConnection oleConn = new OleDbConnection(strConn);
oleConn.Open();
string sql = "select * from [Sheet1$]";
OleDbDataAdapter oleDaExcel = new OleDbDataAdapter(sql, oleConn);
DataSet oleDsExcel = new DataSet();
oleDaExcel.Fill(oleDsExcel, "table1");
oleConn.Close();
return oleDsExcel;
}
catch (Exception)
{
return null;
throw;
}
}
  ⾸先判断excel时候存在,当然如果你已经知道⽂件的所在位置,这⼀步可以跳过。
string filename = @"C:\Users\Administrator\Desktop\礼品列表\礼品张曦合并版本(卡券创建完整信息).xlsx";
if (!System.IO.File.Exists(filename))
throw new Exception("指定路径的Excel⽂件不存在!");
  其次将DataSet⾥⾯的数据,读取出来并包装成数据插⼊语句。
DataSet ds = ReadExcel(filename);
List<string> list = (from DataRow row in ds.Tables["table1"].Rows select String.Format("insert into test_1(id,card_id,card_type,标题,产品价格,单位,礼物数量,商场,礼物编号) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}')", row[0], row[1], row[
2.1
  插⼊我们使⽤ADO.NET来处理,⾸先得在扩展⾥添加引⽤ MySql.Data; 和 MySql.Data.MySqlClient;
  string strConnect = ConfigurationManager.ConnectionStrings["MySqlConnString"].ToString();
  //strConnect="server=127.0.0.1;user id=***;password=***;persistsecurityinfo=True;port=3306;database=test";
  MySqlConnection conn = new MySqlConnection(strConnect);
  conn.Open();
  foreach (string item in list)
  {
    MySqlCommand comn = new MySqlCommand(item, conn);
    comn.ExecuteNonQuery();
  }
  conn.Close();
2.2
  需添加引⽤ using System.Data; using System.Data.SqlClient;
string strConnect = ConfigurationManager.ConnectionStrings["SqlServerConnString"].ToString();
       //或strConnect="Data Source=.;Initial Catalog=test;Persist Security Info=True;User ID=***;Password=***;MultipleActiveResultSets=true";
SqlConnection conn = new SqlConnection(strConnect);
excel连接sql数据库教程conn.Open();
foreach (string item in list)
{
SqlCommand comn = new SqlCommand(item, conn);
comn.ExecuteNonQuery();
}
3.
  我使⽤的是Toad for SQL Server 6.5 Freeware和Toad for MySQL 7.2 Freeware和SQL SERVER2008(这⾥仅以Toad for MySQL 7.2 Freeware为例)