2013-12-23 130 views
1

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

  • Ex。我的电子表格:
    • 行A1:标签|价值|空值|标签|值|合并单元格标签|价值
    • 行A2:标签| producttypecombovalue
    • 排A3:标签| producttypecombovalue
    • 行A4:标签| producttypecombovalue ...
    • 行AX ..:标签|值|标签|值|合并单元格标签|价值

note that plus signs is dynamic rows

+0

我建议在数据表中读取电子表格,如果它是一个表格数据,然后筛选出什么你需要从那里。 – danish

+0

我不明白Excel的格式。你可以上传图片? – dovid

+0

我上传了一张照片。和丹麦语:我在阅读数据表时丢失了数据 – giuice

回答

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 
+0

好主意Tim,我正在使用c#,你知道该怎么做吗?我需要一个真实世界的例子。如何访问标签,组合位置和值。 – giuice