日期:2014-05-17  浏览次数:20947 次

读取excel的数据到mysql
excel的数据很大,大概是10万行多,有什么好的方式插入到数据库呢?

1.是客户上传的excel
2,上传完毕写入到数据库

请大家给解决方式!!!!!!!1




thx


------解决方案--------------------
C# code
    /// <summary>  
    /// 解析Excel,根据OleDbConnection直接连Excel  
    /// </summary>  
    /// <param name="filePath"></param>  
    /// <param name="name"></param>  
    /// <returns></returns>  
    public static DataSet LoadDataFromExcel(string filePath, string name)  
    {  
      try  
      {  
        string strConn;  
        //  strConn = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + filePath + ";Extended Properties=Excel 8.0";  
        strConn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties=\"Excel 12.0 Xml;HDR=No\"";  
       OleDbConnection OleConn = new OleDbConnection(strConn);  
        OleConn.Open();  
        string sql = "SELECT * FROM [" + name + "$]";//可是更改Sheet名称,比如sheet2,等等   
        OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);  
        DataSet OleDsExcle = new DataSet();  
        OleDaExcel.Fill(OleDsExcle, name);  
        OleConn.Close();  
        return OleDsExcle;  
      }  
      catch (Exception err)  
      {  
        MessageBox.Show("数据绑定Excel失败! 失败原因:" + err.Message, "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);  
        return null;  
      }  
    }

------解决方案--------------------
分两步:
1、读取这个Excel文件。这个问题6楼给出了代码。
2、插入mysql数据库。这个问题请看我的博客:http://blog.csdn.net/guwei4037/article/details/6455825
------解决方案--------------------
每一定行数提交一次 比如1000行 又或者500行



------解决方案--------------------
探讨
引用:

分两步:
1、读取这个Excel文件。这个问题6楼给出了代码。
2、插入mysql数据库。这个问题请看我的博客:http://blog.csdn.net/guwei4037/article/details/6455825


我说过了,数据量很大的,是n多的sql的insert 语句,在一个open的连接,我怕会timeout啊