2010-02-05 74 views
0

我想结合Excel文件dataGridView结合Excel文件datagridview的

strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" 
       + "Data Source=E://Org.xls;" 
       + "Extended Properties=" + (char)34 
       + "Excel 8.0;HDR=Yes;" + (char)34; 
      OleDbConnection conn = new OleDbConnection(strConn); 
      textBox1.Text = "test"; 
      OleDbCommand command = new OleDbCommand("Select * from [Sheet1$]", conn); 
      conn.Open(); 
      dataGridView1.DataSource = command.ExecuteReader(); 



      conn.Close(); 

但网格视图不显示任何内容。它不会给出错误要么

回答

3

如何做到这一点,只需要改变Excel文件的路径和对网格的引用。

OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c://Org.xls;Extended Properties=" + (char)34 + "Excel 8.0;HDR=Yes;" + (char)34); 
    DataSet myExcelData=new DataSet(); 

    conn.Open(); 

    OleDbDataAdapter myDataAdapter = new OleDbDataAdapter("Select * from [Sheet1$]", conn); 
    myDataAdapter.Fill(myExcelData); 

    ultraGrid1.DataSource = myExcelData; 

    conn.Close(); 
+0

仍然给我空白视图 – Sphinx 2010-02-05 16:54:35

+0

myExcelData.tables [0] ............感谢 – Sphinx 2010-02-05 17:47:48

+0

嗨,大家好,如果我将Excel数据绑定到DataGridView,客户端计算机的先决条件(他们是否必须安装Microsoft Excel?)。我正在考虑使用纯文本文件来保存和编辑数据,但这是非常繁琐和难以处理的。尽管如此,如果没有特殊的客户端环境要求,我将使用Excel保存数据,并使用DataGridView从Excel导入数据(导出到Excel)。 – 2010-09-07 05:20:53

0

更改代码

ultraGrid1.DataSource = myExcelData; 

这个

dataGridView1.DataSource = myExcelData.Tables[0]; 
+0

如果你的答案已经提出,那么你应该留下评论 – 2012-09-26 17:45:26