c# - 如何使用 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 单元格中的所有字符串作为组合框。我应该使用数组还是列表,或者两者都不使用?我是否正确获得了列范围?
解决方案
如果你像这样添加,而不是添加d
到comboBox1
,它是否有效d.Value
?
comboBox1.Items.Add(d.Text);
(您可能需要转换为字符串,尽管 .Text 属性已经应该返回一个字符串:
comboBox1.Items.Add((string)d.Text);
)
推荐阅读
- r - 使用混淆矩阵`data`和`reference`的错误应该是具有相同水平的因素
- c# - 如何将 ViewBag 中的详细信息转换为用于 FileStreamResult 的字符串?
- c++ - 将用户输入验证为坐标 (A1...)
- javascript - 编写关键 nodejs 后端函数的最佳方法是什么?
- android - 使用 Firebase 在 Android 应用中进行基于角色的身份验证
- reactjs - 反应私人路线
- android - 在 Xamarin Android 项目中添加 Firebase Crashlytics 的问题
- html - 视频会议,如使用 css 网格的视频网格
- reactjs - 是否可以在 React 应用程序之外改变组件状态?
- c# - 如何按字母顺序将字符串插入新数组?