2015-12-04 79 views
-1

下面附加的Excel Used Excel增值組合框從Excel中使用的Winform C#

//Establish a Connection 
      string XlxPath = @"C:\Users\BreakIn\Documents\Visual Studio 2010\Projects\Test\TestData\Test Data.xlsx"; 
      string XlxPathCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + XlxPath + ";Extended Properties=Excel 8.0;HDR=Yes'"; 
      OleDbCommand MyDataAdp = new OleDbCommand(); 
      OleDbConnection Xlxconn = new OleDbConnection(XlxPathCon); 
      MyDataAdp.Connection = Xlxconn; 

      // Accessing Sheets 
      Xlxconn.Open(); 
      DataTable xdt; 
      // Get all Sheets in Excel File 
      xdt = Xlxconn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); 
      Xlxconn.Close(); 

      DataSet ds = new DataSet(); 
      String SheetName = xdt.Rows[0]["TABLE_NAME"].ToString(); 
      MyDataAdp.CommandText = "SELECT Test From[" + SheetName + "]"; 

      OleDbDataAdapter da = new OleDbDataAdapter(MyDataAdp); 
      da.SelectCommand = MyDataAdp; 
      da.Fill(ds); 

      Testdes.Items.Clear(); 
      foreach (DataRow value in xdt.Rows) 

      { 
       Testdes.DataSource = ds.Tables["SheetName"].Columns["test"]; 
       Testdes.Items.Add(value["test"]); 
      } 
      Testdes.SelectedIndex = 0; 
     } 
    } 
} 

}

其中 「Testdes」 是組合框。

如何將列C中的特定行的excel中的值存入ComboBox。

+0

開始移除_Testdes.DataSource = ..._線 – Steve

+0

如果你提供更多的信息,此類如:編譯錯誤或運行時錯誤可能更容易提供答案。 – DaniDev

+0

沒有錯誤,它通過代碼運行時沒有向Combobox –

回答

0

您確定沒有錯誤嗎? 它看起來像你的擴展屬性的開始引號缺少

";Extended Properties=Excel 8.0;HDR=Yes'"; 

應該是:

";Extended Properties='Excel 8.0;HDR=Yes'"; 
+0

添加任何值,謝謝,我現在糾正了這個錯誤,代碼運行到「DataTable xdt;」並打開包含組合框的文件。 –

+0

和組合框不包含任何值 –