如何指定正确的列?
How can I specify the correct column?
我需要根据数据所在的字段(列)做不同的事情。
For Each row As DocumentFormat.OpenXml.Spreadsheet.Row In
worksheet.Descendants(Of DocumentFormat.OpenXml.Spreadsheet.Row)
For Each cell As DocumentFormat.OpenXml.Spreadsheet.Cell In row
Select Case True
Case cell.CellReference.Value Like "C*"
'if this cell is in column C
Case cell.CellReference.Value Like "A*"
'if this cell is in column A
Case Else
End Select
Next
Next
只要在给定的传播中不超过 26 个字段,这就很好用sheet。
如何确保我的 Like "A*"
不会对 AA、AB 等列产生反应?
请记住,OpenXML SDK 总是 returns .cellreference.value 的完整单元格引用,而不仅仅是列。
并且我需要说明我不是要批量丢弃任何大于 26 的列,而是要确保我指定了一个特定的列。受审查的列最终可能是 AA 或 AB,具体取决于创建特定来源的公司 sheet。我希望 属性,或者除此之外,其他人如何学会引用 openxml 中的特定列。
在您尝试匹配的列字母后添加 #
将告诉匹配器该字母后必须有一个数字。如果该列实际上是 AA
.
,这将阻止您检查 A
是否匹配
Select Case True
Case cell.CellReference.Value Like "C#*"
'if this cell is in column C
Case cell.CellReference.Value Like "A#*"
'if this cell is in column A
Case cell.CellReference.Value Like "AA#*"
'if this cell is in column AA
Case Else
End Select
从 documentation 开始,#
将匹配 "Any single digit (0–9)"。
我需要根据数据所在的字段(列)做不同的事情。
For Each row As DocumentFormat.OpenXml.Spreadsheet.Row In
worksheet.Descendants(Of DocumentFormat.OpenXml.Spreadsheet.Row)
For Each cell As DocumentFormat.OpenXml.Spreadsheet.Cell In row
Select Case True
Case cell.CellReference.Value Like "C*"
'if this cell is in column C
Case cell.CellReference.Value Like "A*"
'if this cell is in column A
Case Else
End Select
Next
Next
只要在给定的传播中不超过 26 个字段,这就很好用sheet。
如何确保我的 Like "A*"
不会对 AA、AB 等列产生反应?
请记住,OpenXML SDK 总是 returns .cellreference.value 的完整单元格引用,而不仅仅是列。 并且我需要说明我不是要批量丢弃任何大于 26 的列,而是要确保我指定了一个特定的列。受审查的列最终可能是 AA 或 AB,具体取决于创建特定来源的公司 sheet。我希望 属性,或者除此之外,其他人如何学会引用 openxml 中的特定列。
在您尝试匹配的列字母后添加 #
将告诉匹配器该字母后必须有一个数字。如果该列实际上是 AA
.
A
是否匹配
Select Case True
Case cell.CellReference.Value Like "C#*"
'if this cell is in column C
Case cell.CellReference.Value Like "A#*"
'if this cell is in column A
Case cell.CellReference.Value Like "AA#*"
'if this cell is in column AA
Case Else
End Select
从 documentation 开始,#
将匹配 "Any single digit (0–9)"。