如何读取excel动态数据并获取组合框值

时间:2013-12-23 17:31:32

标签: c# .net excel

我必须动态阅读Excel xlsx格式的2000个文件,使用csharp将数据导入数据库。这不是表格数据,根本没有头列,数据必须动态读取,因为单元格的位置根据产品数据而变化,我们有标签单元格来查找数据。我最大的问题是我无法读取组合框的值,导致位置,单元格/组合的名称和数量将根据产品而变化,但标签将保持不变。我尝试导出到每种格式类型但它不起作用,在特定单元格标签消失后,组合选择的值。 任何可能的解决方案?

  • 实施例。我的电子表格:
    • 行A1:标签|值|空值|标签|值|合并单元格标签|值
    • 第A2行:label | producttypecombovalue
    • 第A3行:label | producttypecombovalue
    • 第A4行:label | producttypecombovalue ...
    • 行AX ..:label | value | label | value | merge cells label | value

note that plus signs is dynamic rows

1 个答案:

答案 0 :(得分:0)

如果组合框全部位于标签右侧的单元格上,那么您可以通过查看其位置(即其TopLeftCell属性或Top和Left属性)并使用它们来过滤工作表上的所有组合。最接近你正在寻找的那个的预期位置的那个。

在VBA中(使用表单组合,你的屏幕截图是你正在处理的) -

Sub tester()
    Dim o
    For Each o In ActiveSheet.OLEObjects
        Debug.Print o.Name, o.Top, o.Left, o.TopLeftCell.Address(), _
                    TypeName(o.Object)
    Next o
End Sub