2011-07-26 2 views
0

Я только хочу привязать Combobox к данным, находящимся в файле myExcel.xls. мой код:Как связать ComboBox из файла Excel с помощью C#

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using System.Data.OleDb; 
using Excel = Microsoft.Office.Interop.Excel; 
using System.Reflection; 

namespace WindowsFormsApplication2 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      Excel.Application xlApp; 
      Excel.Workbook xlWorkBook; 
      Excel.Worksheet xlWorkSheet; 
      object misValue = System.Reflection.Missing.Value; 
      string strWB = @"\myExcel.xls"; 
      string strWBPath = @"C:\Users\Abid\Dropbox\Graphics\TEMP"; 

      xlApp = new Excel.ApplicationClass(); 
      xlWorkBook = xlApp.Workbooks.Open(strWBPath + strWB, 0, true, 5, "", "", 
       true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); 
      xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); 

      Excel.Range xlRange = xlWorkSheet.get_Range("A1", "A4"); 

      foreach (object item in xlRange) 
      { 
       comboBox1.Items.Add(item).ToString(); 
       comboBox1.Text = comboBox1.Items.Count.ToString(); 
       comboBox1.Text = comboBox1.Items.Add(item).ToString(); 
      // listBox1.Items.Add(item).ToString(); 
      } 
      xlWorkBook.Close(true, misValue, misValue); 
      xlApp.Quit(); 
      releaseObject(xlWorkSheet); 
      releaseObject(xlWorkBook); 
      releaseObject(xlApp); 
     } 
     private void releaseObject(object obj) 
     { 
      try 
      { 
       System.Runtime.InteropServices.Marshal.ReleaseComObject(obj); 
       obj = null; 
      } 

      catch (Exception ex) 
      { 
       obj = null; 
       MessageBox.Show("Unable to release the Object" + ex.ToString()); 
      } 

      finally 
      { 
       GC.Collect(); 
      } 

     } 
    } 
} 

это не работает ты ... Когда я нажмите Ctrl + F5 и нажмите кнопку Button1, поле со списком получает связывается с системой .__ ComObject .. что это система. _CommObject? Пожалуйста, помогите мне ..

+0

Что вы имеете в виду под «это» в "он показывает [s]? Что показывает? – Jodaka

+0

Я имею в виду, когда i pres ctrl + F5, и нажмите Button1, комбо привязано к System .__ ComObject –

ответ

0

сделать это как этот

var item = ((Range)worksheet.Cells[rowIndex, columnIndex]).Value2.ToString() 

затем привязать к пункту со списком

int start = 1; 
int end = 10; 
for(start; start < end; start++) 
{ 
    var item = ((Range)xlWorkBook .Cells[rowIndex, columnIndex]).Value2.ToString(); 
    comboBox1.Items.Add(item); 
} 
+0

напишите это для каждого цикла? –

+0

это не сработало .. –

+0

это должно работать, я использую его ежедневно, я просто скопировал свой код, вы можете просто вместо этого листать свой объект xlWorkBook –

Смежные вопросы