【问题标题】:How to read excel dynamically data and get combobox values如何动态读取excel数据并获取组合框值
【发布时间】:2013-12-23 17:31:32
【问题描述】:

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

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

【问题讨论】:

  • 我建议在 DataTable 中读取电子表格,就好像它是表格数据一样,然后从那里过滤掉您需要的内容。
  • 我不明白 Excel 的格式。可以上传图片吗?
  • lomed 我上传了一张照片。和丹麦语:我在读取数据表时丢失了数据

标签: c# .net excel


【解决方案1】:

如果组合框都位于标签右侧的单元格上,那么您可以通过查看它们的位置(即它们的 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

【讨论】:

  • 好主意蒂姆,我正在使用 c#,你知道怎么做吗?我需要一个真实世界的例子。如何访问标签、组合位置和值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-27
相关资源
最近更新 更多