要求用opendialog打开excel,把excel的数据导入到datagridview中,并保存到数据库中
各位高手谁会的,指点下我啊 
能我详细的代码吗?

解决方案 »

  1.   

    用c#读取excel文件,写到datagridview控件中 string strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1''" "  ;            OleDbConnection conn = new OleDbConnection(strconn);            conn.Open();            if (bo == false)            {                comboBox1.Items.Clear();                DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });                foreach (DataRow dr in dt.Rows)                {                    comboBox1.Items.Add((String)dr["TABLE_NAME"]);                    //MessageBox.Show((String)dr["TABLE_NAME"]);                 }                //comboBox1.Text = comboBox1.Items[0].ToString();            }            else            {                string sql = "select * from " + comboBox1.Text;                OleDbDataAdapter aper = new OleDbDataAdapter(sql, conn);                DataSet myset = new DataSet();                aper.Fill(myset, comboBox1.Text);                dataGridView1.DataSource = myset.Tables[comboBox1.Text];            }            conn.Close(); 备注:@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""" "HDR=Yes;" indicates that the first row contains columnnames, not data"IMEX=1;" tells the driver to always read "intermixed" data columns as textTIP! SQL syntax: "SELECT * FROM [sheet1$]" - i.e. worksheet name followed by a "$" and wrapped in "[" "]" brackets.如果第一行是数据而不是标题的话, 应该写: "HDR=No;""IMEX=1;" tells the driver to always read "intermixed" data columns as text 
      

  2.   

    在项目中经常遇到读写EXCEL文件的需求。其实读取EXCEL很简单, 首先使用命名空间NExcel,然后加载文件到Workbook,循环读取就行了。using NExcel;Workbook wb = Workbook.getWorkbook(fileStream);     Sheet sheet = wb.Sheets[0];     int rowsCount = sheet.Rows;for (int row = 2; row < rowsCount; row++){         string sheet.getCell(0, row).Contents;decimal TotalPrice = Convert.ToDecimal(sheet.getCell(1, row).Value);     }      引用通告地址: http://tmsoft.lsxy.com/trackback.php?tbID=394&extra=c0ebdd
      

  3.   

    我用的VS2005 
    using NExcel,该改成什么!
    二楼  bo变量初值是多少,怎么把你的代码改成用opengdialog1打开excel文件,在导入啊 
      

  4.   

    一个SQL  语句就可以了。
    insert into ItemConfig 
    select * from 
    OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
    ,'Excel 5.0;HDR=YES;DATABASE=D:\database\import\csv\Item.xls',sheet1$)