我知道可以给单元格命名,就像以下问题的答案所述:
如何查看给定的单元格/区域是否具有名称并检索该名称?
有一个属性叫做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
namedCell = book.Names.Where(item => item.FullAddressAbsolute.Equals(cell.FullAddressAbsolute)).FirstOrDefault();