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

I want to find the column index using Column data

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

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;
}

最有可能出现异常的是您对 First 的调用。它没有找到任何匹配 Value == columnName 的项目并抛出异常。我建议分解你的 if 语句,这样你就可以处理这种情况。我还建议改用 FirstOrDefault,因为它只会 return null 而不是抛出异常。

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