【问题标题】:Populate ComboBox and Textfields from Excel从 Excel 填充组合框和文本字段
【发布时间】:2014-12-23 17:10:31
【问题描述】:

我有一个包含客户信息的 Excel 电子表格。我想用 A 列中的唯一值填充一个组合框 (comboBox1)。然后我想要第二个组合框 (comboBox2) 来列出 ComboBox1=A 列中存在的 B 列中的值。最后,我想使用列的 C、D、E 等填充文本字段......

我已经模拟了我想要的结果的快速屏幕:

这将来自以下电子表格:

电子表格中的数据会不时更改,这就是为什么我无法对信息进行硬编码。

我什至不知道从哪里开始。我是将数据加载到二维数组中还是有更好的方法?

【问题讨论】:

    标签: c# excel


    【解决方案1】:

    你至少有几个选择。

    OOXml SDK

    如果 excel 文件是 2007 格式 (xlsx) 或更高版本,那么您可以通过 Microsoft 提供的 OOXml SDK 以编程方式使用它。

    查看以下操作方法:

    How to: Retrieve the Values of Cells in a Spreadsheet Document

    对于电子表格的其他操作方法:

    http://msdn.microsoft.com/en-us/library/office/cc850837.aspx

    互操作

    您可以自动化 Excel 并以编程方式与之交互。这需要在运行程序的计算机上安装 excel。 Microsoft 还警告说,这在服务器环境中不受支持。

    关于通过 C# 进行 excel 互操作的 SO 上有很多问题。

    https://stackoverflow.com/search?q=C%23+and+Excel+interop

    Excel 驱动程序

    MS 提供 excel ODBCOLEDB 驱动程序。

    【讨论】:

    • 这听起来很有用。它的office 2007,在PC 上拥有Excel 不是问题。我想我更关注如何在字段中填充数据,而不是具体加载值。我应该将整个电子表格加载到二维数组中,还是应该为每一行创建一个信息对象?还是有更好的办法?
    • 这是一个设计问题。简单的数组可以工作,或者列表。与获取数据相比,这微不足道:)。
    猜你喜欢
    • 2013-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    • 2021-01-26
    相关资源
    最近更新 更多