首页 > 解决方案 > 如何使用 excel 列中的字段填充组合框?C#

问题描述

我的 Excel 工作表的 B 列中有数据,我想用它来填充组合框,该行中的每个单元格都是组合框下拉列表中的一个值。

        Excel.Application xlApp = new Excel.Application();
        Excel.Workbook xlWorkbook = xlApp.Workbooks.Open("X:\\Private\\Users\\Temp\\testexcel.xlsm");
        Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];
        Excel.Range xlRange = xlWorksheet.Range["B1:B40"];



        foreach (var d in xlRange)
        {

           comboBox1.Items.Add(d);


        }

我的代码似乎不起作用,我在应该转换为字符串的位置遇到问题,这样它就不会作为 system.COMobject 返回,而是将 excel 单元格中的所有字符串作为组合框。我应该使用数组还是列表,或者两者都不使用?我是否正确获得了列范围?

标签: c#excelvisual-studiocombobox

解决方案


如果你像这样添加,而不是添加dcomboBox1,它是否有效d.Value

comboBox1.Items.Add(d.Text);

(您可能需要转换为字符串,尽管 .Text 属性已经应该返回一个字符串:

comboBox1.Items.Add((string)d.Text);

)


推荐阅读