C# 实现将excel (2007版的)数据导入界面或者datatable中,在将数据保存到数据库。求源代码,
谢谢!

解决方案 »

  1.   

    string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;IMEX=1'";
                OleDbConnection conn = new OleDbConnection(strConn);
                conn.Open();
                string strExcel = "";
                OleDbDataAdapter myCommand = null;
                strExcel = "select * from [Sheet1$]";
                myCommand = new OleDbDataAdapter(strExcel, strConn);
                DataSet ds = new DataSet();
                myCommand.Fill(ds);
      

  2.   

    http://www.cnblogs.com/homezzm/archive/2010/02/25/1673181.html参考
      

  3.   

    我写的一个小程序,供参考:
    http://download.csdn.net/source/3034170
      

  4.   

    string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;IMEX=1'";
      OleDbConnection conn = new OleDbConnection(strConn);
      conn.Open();
      string strExcel = "";
      OleDbDataAdapter myCommand = null;
      strExcel = "select * from [Sheet1$]";
      myCommand = new OleDbDataAdapter(strExcel, strConn);
      DataSet ds = new DataSet();
      myCommand.Fill(ds);--------------------
    dataset 值为空,我用的是offic 2007的
      

  5.   


    vs2008打开vs2010的解决方案
      

  6.   


    打开了,谢谢。高手啊,我是初学者,你有msn号活着QQ号吗,发邮箱 [email protected].
      

  7.   

    2007之后的连接字符串是这样的
    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";Provider=Microsoft.Jet.OLEDB.4.0;是不能使用的
      

  8.   

    另外需要安装 2007 Office system 驱动程序:数据连接组件 
    http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891
      

  9.   

    还报没有找到可安装的ISAM,我驱动都下了啊,坐等回答,谢谢你啊
      

  10.   

    显示导入的数据用个datagridview控件即可
            Dim strConn As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & excelpath & ";Extended Properties='Excel 8.0;HDR=yes'" '''这个适用于2007
            Dim myda1 As OleDbDataAdapter
            Dim MyConnection As OleDbConnection
            Dim myds1 As DataSet
            MyConnection = New OleDbConnection(strConn)
            myda1 = New OleDbDataAdapter("select * from [sheet1$]", MyConnection)
            myds1 = New DataSet()
            'If CD1.ShowDialog() = System.Windows.Forms.DialogResult.Cancel Then   ''''这样做有一点小bug
            If r = System.Windows.Forms.DialogResult.Cancel Then
                MsgBox("您选择了取消!")
                Exit Sub
            Else
                myda1.Fill(myds1, "[sheet1$]")
                MyConnection.Close()
                DataGridView1.DataSource = myds1.Tables(0)
            End If
      

  11.   

    但是,这里我遇到了一个小bug,就是把Excel 2007放入到datable 里面时,myda1 = New OleDbDataAdapter("select * from [sheet1$]", MyConnection)
    却最多只能显示255列,可能是数据引擎的原因,有哪位大侠帮个忙解决下???谢谢