我需要根据数据所在的字段(列)做不同的事情。
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个,这就很有效。
如何确保我的Like "A*"
对AA,AB等列没有反应?
请记住,OpenXML SDK始终返回.cellreference.value的完整单元格引用,而不仅仅是列。 而且我需要指明我不是要试图批量抛出任何大于26的列,但我试图确保指定一个特定的列。根据创建特定源表的公司,经过详细审查的列可能最终为AA或AB。我希望找到一个属性,或者禁止其他人如何学会在openxml中引用特定的列。
答案 0 :(得分:2)
在您要匹配的列字母后面添加#
会告诉匹配器在字母后面必须有一个数字。如果该列实际为A
,则会阻止您检查AA
匹配。
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开始,#
将匹配"任何单个数字(0-9)"。