急需从excel直接导入到sql数据库的代码,希望各位前辈帮助,为方便学习 须详细解释谢谢了。

解决方案 »

  1.   

    把excel导入数据库,能导入的只是一些表格不是特别复杂,也就是不出现表格嵌套可以使用下面这个方法导入;
    思路:
    (1)、把excel数据读入到dataset中;
    (2)、建立相应结构的数据表格
    (3)、把dataset中的数据更新到数据表中
    可以顺利实现你的目标,代码给一些简单的可以参考哦!
      

  2.   

    http://support.microsoft.com/kb/306023/EN-US/
      

  3.   

    下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。
    insert into table1
    SELECT * 
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
     
      

  4.   

    1:直接用数据库(如果你的表结构相对固定)
    可以用sql server 的数据转换功能, 然后保存成包, 
    2:用代码;
      太多了,自己动手搜索吧
      

  5.   

    http://dev.csdn.net/article/41/41040.shtm
      

  6.   

    可以在excel中用vba在工具栏中建立按钮,将表格中的数据写成xml串,然后传到一个asp页或asp.net或页,然后在web页中将数据写入数据库中。
      

  7.   

    用第三方控件把
    infragistics,c1的都可以阿
      

  8.   

    // 我的方法是把Excel的数据导入DataSet,然后把DataSet导入数据库,以下的方法是把Excel的数据导入DataSet
            public static DataSet GetExcelContent(string filepath)
    {

    string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = "+filepath+";Extended Properties='Excel 8.0;IMEX=1'" ;
    System.Data.OleDb.OleDbConnection myConn = new System.Data.OleDb.OleDbConnection (strCon) ;
    string strCom = " SELECT * FROM [Sheet1$] " ;
    myConn.Open( ) ;
    System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strCom,myConn ) ;
    //创建一个 DataSet对象
    DataSet myDataSet = new DataSet( );
    //得到自己的DataSet对象
    myCommand.Fill (myDataSet,"[Sheet1$]") ;
    //关闭此数据链接
    myConn.Close();
    return myDataSet;


    }
    //该方法是读出excel表的内容,到dataset中
    //------------------------然后通过insert插入数据库就可以了-----------
      

  9.   

    string myExecuteQuery= "SELECT * INTO TableName FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=c:\\xxx.xls',[Sheet1$])";OleDbConnection myConnection = new OleDbConnection(myConnectionString);
    OleDbCommand myCommand = new OleDbCommand(myExecuteQuery, myConnection);
    myCommand.Connection.Open();
    myCommand.ExecuteNonQuery();
    myConnection.Close();
      

  10.   


    你可以dataset 导入 excel参考
    http://community.csdn.net/Expert/topic/3077/3077526.xml?temp=.8746912
    http://www.dev-club.com/club/bbs/showEssence.asp?id=26350http://dev.csdn.net/Develop/article/18/18623.shtm
    http://community.csdn.net/Expert/topic/3112/3112296.xml?temp=.926861
    http://dotnet.aspx.cc/ShowDetail.aspx?id=BF0A54F9-C7C7-4200-BD9A-802AC1F5DE50
    http://expert.csdn.net/Expert/TopicView1.asp?id=2928057www.foxhis.com/powermjtest/
    原文代码:
    private void Button1_Click(object sender, System.EventArgs e)
    {
      //写入Excel的方法:
      //定义需要参数。
      string SourceFile="Data.XLS";                                //源文件名称。
      string TemplatePath=Server.MapPath("ExcelTemplate");    //存放源文件的文件夹路径。
      string DownloadPath=Server.MapPath("ExcelDownload");    //副本的文件夹路径。
      //副本的文件名。
      string TempFileName = DateTime.Now.ToString("yyyyMMdd") + DateTime.Now.Hour + DateTime.Now.Minute + DateTime.Now.Second + ".XLS";  
      object missing = System.Reflection.Missing.Value;
      Excel.Application myExcel=new Excel.Application();
      //打开新文件
      myExcel.Application.Workbooks.Open(TemplatePath+"\\"+SourceFile,missing,missing,missing,missing,
    missing,missing,missing,missing,missing,missing, missing,missing); 
      Excel.Workbook myBook=myExcel.Workbooks[1];
      Excel.Worksheet curSheet = (Excel.Worksheet)myBook.Sheets[2];

      string DownloadFilePath=DownloadPath+"\\"+TempFileName;

      int i=0;
      while (i<=10)
      {
        myExcel.Cells[4+i,2]=i.ToString();
        myExcel.Cells[4+i,3]=i.ToString();
        myExcel.Cells[4+i,4]=i.ToString();
        myExcel.Cells[4+i,5]=i.ToString();
        myExcel.Cells[4+i,6]=i.ToString();
        i++;
      }   

      myBook.Saved=true;
      //myBook.SaveAs(DownloadFilePath,missing,"","",false,false,Excel.XlSaveAsAccessMode.xlNoChange,1,false,missing,missing);

      myBook.PrintPreview(0);
      //myBook.PrintOut(missing,missing,missing,missing,missing,missing,missing,missing);
      myBook.Close(false, null,null);
      myExcel.Quit();
      System.Runtime.InteropServices.Marshal.ReleaseComObject(myBook);
      System.Runtime.InteropServices.Marshal.ReleaseComObject(myExcel);
      myBook = null;
      myExcel = null;
      GC.Collect();
      //Response.Redirect("ExcelDownload//"+TempFileName); //下载文件
    }
      

  11.   

    这两天太忙了,给一点代码给楼主吧,前面说了一下我的思路,现在给点简单的代码!
    /*读取Excel表格中的数据到DataDSet*/
    string str="c:\\例子.xls";
    string connstr = "Driver={Microsoft Excel Driver (*.xls)};DBQ="+str;
    string sqlstr = "select * from [sheet1$]";
    DataSet myds = new DataSet();
    OdbcConnection myconn = new OdbcConnection(connstr);
    OdbcDataAdapter myda = new OdbcDataAdapter(sqlstr,connstr);
    myda.Fill(myds);
    /*获取Excel表格中的字段名称*/
    string[] ColumnsNames=new string[myds.Tables[0].Columns.Count];
    for(int i=0;i<myds.Tables[0].Columns.Count;i++)
    {
    //获取列的集合的名称
    ColumnsNames[i]=myds.Tables[0].Columns[i].ColumnName.ToString();
    }
    /*创建该结构的数据表,在某个数据库中*//*往数据库表中导入记录*/
      

  12.   

    string sFileName="要导入的文件";
    //先导入数据集
    string strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+sFileName+";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'";
    string strSQLCommand="SELECT * FROM [Sheet1$]";

    DataSet ds=new DataSet();
    System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strSQLCommand, conn);

    myCommand.Fill(ds);
    //然后导入数据库
    DataSet dsD=new DataSet();
    string strSQL="select * from 表";
    SqlDataAdapter sqlsel2= new SqlDataAdapter(strSQL,this.sqlConnection1);
    sqlsel2.Fill(dsD);
    sqlsel2.Update(ds);
      

  13.   

    哎。怎么说呢。我虽然非常想用c#可是经理要求用vb做呵呵。那位能给个vb的代码啊。最好是拿来就用的我是个初学者啊。谢谢各位前辈师兄了。