winform excel导入mysql_c#将Excel数据导入到数据库的实现代码
时间: 2023-12-10 19:41:15 浏览: 164
C#winform实现Excel导入数据库,winform导出excel数据,C#
5星 · 资源好评率100%
以下是将 Excel 数据导入到 MySQL 数据库的 C# 代码示例:
```csharp
private void btnImport_Click(object sender, EventArgs e)
{
// 获取 Excel 文件路径
string filePath = txtFilePath.Text;
// 连接 Excel 文件
string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1;'";
OleDbConnection conn = new OleDbConnection(connStr);
try
{
conn.Open();
OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]", conn);
OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
// 将 Excel 数据读入 DataSet
DataSet ds = new DataSet();
adapter.Fill(ds);
// 连接 MySQL 数据库
string mysqlConnStr = "Server=127.0.0.1;Database=test;Uid=root;Pwd=123456;";
MySqlConnection mysqlConn = new MySqlConnection(mysqlConnStr);
mysqlConn.Open();
// 插入数据到 MySQL 数据库
foreach (DataRow row in ds.Tables[0].Rows)
{
MySqlCommand mysqlCmd = new MySqlCommand();
mysqlCmd.Connection = mysqlConn;
mysqlCmd.CommandText = "INSERT INTO `test`.`table1` (`Column1`, `Column2`, `Column3`) VALUES (@Column1, @Column2, @Column3)";
mysqlCmd.Parameters.AddWithValue("@Column1", row["Column1"]);
mysqlCmd.Parameters.AddWithValue("@Column2", row["Column2"]);
mysqlCmd.Parameters.AddWithValue("@Column3", row["Column3"]);
mysqlCmd.ExecuteNonQuery();
}
MessageBox.Show("导入成功!");
}
catch (Exception ex)
{
MessageBox.Show("导入失败:" + ex.Message);
}
finally
{
conn.Close();
mysqlConn.Close();
}
}
```
需要注意的是,该示例代码使用了 `OleDbConnection` 和 `OleDbDataAdapter` 来连接 Excel 文件和读取数据,使用了 `MySqlConnection` 和 `MySqlCommand` 来连接 MySQL 数据库和插入数据。在使用前需要引入 `System.Data.OleDb` 和 `MySql.Data.MySqlClient` 命名空间,并且需要先安装 `MySql.Data` NuGet 包。另外,代码中的数据库连接字符串、Excel 表名、表字段名等需要根据实际情况进行调整。
阅读全文