C# 将数据从Excel文件传输到MySQL表

C# 将数据从Excel文件传输到MySQL表,c#,mysql,C#,Mysql,我有一个Excel 2003电子表格,需要导入MySQL。我有一个名为dev_products的表,其中有两个字段;产品标识和产品描述。Excel文件具有完全相同的列结构-但我不知道如何传输数据(通过代码-因为我将不得不再次这样做) 我可以连接到文件…但这是我所能做的…我真的需要一些帮助 谢谢-一如既往 const string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + strExcelFi

我有一个Excel 2003电子表格,需要导入MySQL。我有一个名为
dev_products
的表,其中有两个字段;产品标识和产品描述。Excel文件具有完全相同的列结构-但我不知道如何传输数据(通过代码-因为我将不得不再次这样做)

我可以连接到文件…但这是我所能做的…我真的需要一些帮助

谢谢-一如既往

    const string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + strExcelFilenameandLocation + "; Extended Properties=Excel 8.0;";
    OleDbConnection xlConn = new OleDbConnection(connectionString);
    xlConn.Open();

    string strQuery = "??????????";

    var con = new MySqlConnection(ClsVariables.StrDb);
    con.Open();
    MySqlCommand command = new MySqlCommand(strQuery, con);
    command.ExecuteNonQuery();
    con.Close();
    xlConn.Close();

使用sql命令直接导入的简单方法

另存为文本(CSV)并在mysql命令行客户端中使用LOAD DATA Inflie LOCAL加载文件

--


参考:

以csv格式保存excel文件

  • 使用mysql批量插入直接插入数据库

  • 使用下面给出的函数从csv读取数据 函数将返回DataTable中的数据 提取数据并创建mysql查询以插入数据库

    using System.IO;
    using System.Windows.Forms;
    using System.Data;
    public class readCSV
    {
    public DataTable getDataTable()
    {
        DataTable dTable = new DataTable();
        try
        {
            using (StreamReader readFile = new StreamReader(this.filename))
            {
                string line;
                string[] row;
                int rowcount = 0;
                DataRow dRow;
    
                while ((line = readFile.ReadLine()) != null)
                {
                    row = line.Split(',');
                    dRow = dTable.NewRow();
    
                    for (int i = 0; i < row.Length; i++)
                    {
                        if (rowcount == 0)
                        {
                            dTable.Columns.Add(row[i]);
                        }
                        else
                        {
                            dRow[dTable.Columns[i]] = row[i];
                        }
                    }
    
                    if (rowcount != 0)
                    {
                        dTable.Rows.Add(dRow);
                    }
                    rowcount++;
                }
            }
        }
        catch (Exception e)
        {
            MessageBox.Show(e.Message);
        }
    
        return dTable;
    }
    }
    
    使用System.IO;
    使用System.Windows.Forms;
    使用系统数据;
    公共类readCSV
    {
    公共数据表getDataTable()
    {
    DataTable dTable=新的DataTable();
    尝试
    {
    使用(StreamReader readFile=newstreamreader(this.filename))
    {
    弦线;
    字符串[]行;
    int rowcount=0;
    数据行卓尔;
    而((line=readFile.ReadLine())!=null)
    {
    行=行。拆分(',');
    dRow=dTable.NewRow();
    for(int i=0;i

  • 检查:这个问题向你展示了它是如何完成的。如果您只需要一些列,请确保将它们放在[]之间。请记住,这是它的excel部分。非常感谢您-这真是一个很大的帮助。