c# Excel 导入mysql_C#把excel数据导入datase,让后再insert mysql数据库

展开全部

1、方法一:采用OleDB读取EXCEL文件:

把EXCEL文件当做一个数据源来进e5a48de588b662616964757a686964616f31333339653731行数据的读取操作,实例如下:

public DataSet ExcelToDS(string Path)

{

string

strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path

+";"+"Extended Properties=Excel 8.0;";

OleDbConnection conn = new

OleDbConnection(strConn);

conn.Open();

string strExcel =

"";

OleDbDataAdapter myCommand = null;

DataSet ds =

null;

strExcel="select * from [sheet1$]";

myCommand = new

OleDbDataAdapter(strExcel, strConn);

ds = new

DataSet();

myCommand.Fill(ds,"table1");

return

ds;

}

对于EXCEL中的表即sheet([sheet1$])如果不是固定的可以使用下面的方法得到

string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;"

+"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;";

OleDbConnection

conn = new OleDbConnection(strConn);

DataTable schemaTable =

objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables,null);

string

tableName=schemaTable.Rows[0][2].ToString().Trim();

另外:也可进行写入EXCEL文件,实例如下:

public void DSToExcel(string Path,DataSet

oldds)

{

//先得到汇总EXCEL的DataSet 主要目的是获得EXCEL在DataSet中的结构

string strCon =

" Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source ="&

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是将 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 表名、表字段名等需要根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值