我想使用列数据查找列索引

时间:2018-10-05 14:01:48

标签: c# worksheet

我正在尝试使用列名获取列索引,但是如果我输入不在数据集中的列名,则会出现异常。我该如何处理?

string columnName ="ABC";

int ColumnNumber-0;

if(ws.Cells["1:1"].First(c => c.Value.ToString() == columnName ).Start.Column!=Undefined)
{
    ColumnNumber=ws.Cells["1:1"].First(c => c.Value.ToString() == columnName ).Start.Column;
}

1 个答案:

答案 0 :(得分:0)

最可能的例外情况是您致电First。找不到与Value == columnName相匹配的任何项目,并引发异常。我建议分拆if语句,以便您处理这种情况。我还建议改用FirstOrDefault,因为它只会返回null而不是抛出异常。

var myCell = ws.Cells["1:1"].FirstOrDefault(c => c.Value.ToString() == columnName );
if (myCell != null && myCell.Start.Column != Undefined)
{
    ColumnNumber = myCell.Start.Column;
}