3

次の質問で回答されているように、セルに名前を付けることができることを知っています。

EPPLUS - セルの名前を変更

特定のセル/範囲に名前があるかどうかを確認し、その名前を取得するにはどうすればよいですか?

4

1 に答える 1

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();
于 2012-12-12T05:48:45.960 に答える