答案 0 :(得分:2)
有一个属性IsName
可以确定范围是否有名称。但它似乎无法正常工作。我想你要查询命名的单元格集合,即sheet.Names
或book.Names
(它们包含工作表或书中的所有名称)。然后将FullAddressAbsolute
与给定的单元格进行比较,以获得所需的命名单元格。
var cell = sheet.Cells["C1"]; // cell you wanna find the name
ExcelNamedRange namedCell = null;
foreach (var item in book.Names)
{
if (item.FullAddressAbsolute.Equals(cell.FullAddressAbsolute))
{
namedCell = item;
break; // if you don't wanna find all
}
}
// if (namedCell == null) --> NOT FOUND
// else
// namedCell.Name : contains the name you wanna retrieve
也可以使用LINQ代替循环:
namedCell = book.Names.Where(item => item.FullAddressAbsolute.Equals(cell.FullAddressAbsolute)).FirstOrDefault();