C#将excel列导入ComboBox下拉列表值

时间:2014-09-17 08:25:09

标签: c# windows winforms excel

我有一个带有值的电子表格,我希望使用C#填写Windows窗体中的下拉框。其中一些值包含100个条目,我不想手动填写它们或将它们嵌入源代码中。

我还需要能够在输入组合框后添加和删除组合框中的值,所以我相信这会将其绑定到数据集。

如何做到这一点?

2 个答案:

答案 0 :(得分:0)

您可以使用此链接http://code.google.com/p/excellibrary/中的excel库。实际上这个页面上提供了一个示例代码,它演示了如何从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格式。它更易于解析,更加清晰和轻量级。

答案 1 :(得分:0)

你的意思是在组合框中输入很多值? 如果将excel值输入DataTable,则使用foreach循环插入值。

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

如果您正在努力使用excel导入,请再次向我添加评论。