EPPLUS - 获取单元格名称//范围

时间:2012-12-11 10:35:43

标签: epplus

我知道可以给单元格命名,如下面的问题所示:

EPPLUS - Rename Cell

如何查看给定的单元格/范围是否有名称并检索该名称?

1 个答案:

答案 0 :(得分:2)

有一个属性IsName可以确定范围是否有名称。但它似乎无法正常工作。我想你要查询命名的单元格集合,即sheet.Namesbook.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();