2014-09-17 3 views
0

У меня есть лист с расширенными значениями, который я хотел бы заполнить в раскрывающихся списках в формах Windows с использованием C#. Некоторые из этих значений содержат 100 записей, и я не хочу их заполнять вручную или внедрять в исходный код.C# импортировать столбец excel в значения выпадающего списка ComboBox

Мне также нужно иметь возможность добавлять и удалять значения из комбинированного поля после их ввода, поэтому я считаю, что это исключает привязку его к набору данных.

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

+0

что вы пробовали до сих пор? что вы боретесь с combobox или excel import? – RoughPlace

+0

Я новичок в C#, поэтому немного. Я пытаюсь в основном получить список значений (текстовый документ, ограниченный «\ n»), чтобы заполнить раскрывающийся список в окнах. Есть много значений, которые необходимо импортировать, и я не могу просто физически составить список со всеми значениями в коде. Поэтому я подумал, что могу импортировать эти значения из документа XML, но это взрывается мне в лицо. В основном просто интересно, сталкивался ли кто-либо с этой проблемой раньше. – blakepeterman

+0

Что такое «лучшая практика» для получения многих значений в комбинированном поле? (Скажем, более 100 значений) – blakepeterman

ответ

0

Вы можете использовать библиотеку excel по этой ссылке http://code.google.com/p/excellibrary/. На этой странице есть пример кода, демонстрирующий, как читать из файла excel.

using ExcelLibrary.SpreadSheet; 

// open xls file 
Workbook book = Workbook.Load(file); 
Worksheet sheet = book.Worksheets[0]; 

// iterate with a proper condition, at the moment it will iterate with a given length! 
for (int i = 0; i < length; i++) 
{ 
    comboBox.Items.Add(sheet.Cells[i,column_index].Value); 
} 

Просто перейдите в свою колонку excel и добавьте элементы в поле со списком. Это нормально, чтобы добавить 100, но это будет не очень ясно.

Если вы не хотите жестко кодировать свои элементы и использовать их как внешний источник, я бы рекомендовал использовать XML-формат. Легче разбираться, гораздо более ясно и легко.

+0

Это не помогло. – blakepeterman

0

Вы имеете в виду ввод многих значений в поле со списком? Если вы получаете значения excel в DataTable, тогда вставьте значение, используя цикл foreach.

comboboxName.Items.Clear(); 
foreach(DataRow value in DataTableName.rows) 
{ 
    comboboxName.Items.Add(value["ColumnName"]); 
} 
comboboxName.selectedIndex = 0; 

Если вы боретесь с импортом excel, то добавьте комментарий ко мне снова.

+0

Да, импорт excel, вероятно, является той частью, которую мне больше всего любопытно. – blakepeterman

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