请求各位大侠如题!(注:已存在表)在gg里面搜索了很久没找到合适的!看网上看了很多例子,网上思路大概是这样的,先将excel导入dataset,然后再将dataset添加到表里面
注:不需要说sql2005有这个导入功能!谢谢Email:[email protected]

解决方案 »

  1.   


    // 读取Excel
        private DataTable GetExcelTable(string uploadPath)
        {
            DataSet ds = new DataSet();
            string Xls_ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + uploadPath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1';";//HDR为yes 则第一数据行为列名,为no 则自动为列加列名F1  F2  F3
            OleDbConnection Conn = new OleDbConnection(Xls_ConnStr);
            try
            {
                Conn.Open();
                string sql_str = "select * from [Sheet1$]";
                OleDbDataAdapter da = new OleDbDataAdapter(sql_str, Conn);
                da.Fill(ds, "excel_data");
                Conn.Close();
            }
            catch
            {
                if (Conn.State == ConnectionState.Open)
                {
                    Conn.Close();
                }
                return null;
            }
            finally
            {
                Conn.Dispose();
            }        if (ds == null)
            {
                return null;
            }        if (ds.Tables.Count < 1)
            {
                return null;
            }        return ds.Tables[0];
        }
      

  2.   

    http://topic.csdn.net/u/20091010/09/47ae3343-0a3f-4ab4-a818-91828df70db4.html
      

  3.   

    除了读取再把它导入,sql server中本身有导入功能,查一下看有没有使用sql语句,用于导入的,像备份和还原数据库一样,这没去试过,不知可行不
      

  4.   

    SELECT * into newtable
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="c:\a.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...[Sheet1$]
    上传excel文档到服务器,再打开服务器上excel导入数据到数据库。  
    遍历excel,实现数据集更新,插入数据到数据库   
    using(OleDbConnection myConn = new OleDbConnection(""))
      {
      myConn.Open();
      string str = "SELECT * FROM [Sheet1$]";  
      OleDbDataAdapter myCommand = new OleDbDataAdapter(str, myConn);
      DataSet ds= new DataSet();
      myCommand.Fill(ds);
      myConn.Close();
      }