C# Dilinde Excel Adlandırılmış Aralıkları Yönetmek

C# ile IronXL'de Adlandırılmış Aralık Eklemek

This article was translated from English: Does it need improvement?
Translated
View the article in English

Adlandırılmış bir aralık, benzersiz bir ad ile tanımlanan belirli bir hücre aralığıdır. Hücre adresleri ile bir aralığa başvurmak yerine (örneğin A1:B10), bir aralığa ad atayarak, formüller ve işlevlerde başvurmayı ve anlamayı kolaylaştırabilirsiniz. Örneğin, bir aralığa "SalesData" adını verdiyseniz, hücre aralığını doğrudan belirtmek yerine SUM(SalesData) gibi bir formülde bu aralığa başvurabilirsiniz.

Adlandırılmış aralıklar, C# içinde Excel formülleri ile çalışırken özellikle kullanışlıdır, çünkü kodunuzun daha okunabilir ve sürdürülebilir olmasını sağlarlar. IronXL'nin güçlü aralık seçimi özellikleri ile kombine edildiğinde, adlandırılmış aralıklar verimli elektronik tablo yönetiminin önemli bir aracına dönüşür.

Hızlı Başlangıç: IronXL ile Tek Satırda Adlandırılmış Bir Aralık Ekleyin

İronXL ile tek bir yöntem çağrısı kullanarak bir adlandırılmış aralık tanımlayın. Aralığınızı seçin ve SaveAsNamedRange yöntemini uygulayın.

  1. IronXL aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package IronXL.Excel
  2. Bu kod parçacığını kopyalayın ve çalıştırın.

    new IronXl.WorkBook()
        .DefaultWorkSheet["A1:B2"].SaveAsNamedRange("MyRange", true);
  3. Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronXL kullanmaya başlayın

    arrow pointer


Çalışma Sayfama Adlandırılmış Bir Aralık Nasıl Eklerim?

Adlandırılmış bir aralık eklemek için, adlandırılmış aralığın adını metin ve aralık nesnesi olarak geçirerek AddNamedRange yöntemini kullanın. Bu yöntem, IronXl.Excel kapsamlı çalışma sayfası yönetimi özelliklerinin bir parçasıdır.

:path=/static-assets/excel/content-code-examples/how-to/named-range-add-named-range.cs
using IronXL;

WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Select range
var selectedRange = workSheet["A1:A5"];

// Add named range
workSheet.AddNamedRange("range1", selectedRange);

workBook.SaveAs("addNamedRange.xlsx");
Imports IronXL

Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Select range
Private selectedRange = workSheet("A1:A5")

' Add named range
workSheet.AddNamedRange("range1", selectedRange)

workBook.SaveAs("addNamedRange.xlsx")
$vbLabelText   $csharpLabel

Adlandırılmış aralıklar oluştururken, Excel'in adlandırma kurallarını takip etmek önemlidir:

  • Adlar, harf veya alt çizgi ile başlamalıdır
  • Adlar boş luk içeremez (yerine alt çizgi kullanın)
  • Adlar hücre referanslarıyla çelişmemelidir (örneğin 'A1' veya 'R1C1')
  • İsimler büyük/küçük harf duyarlı değildir ancak tutarlı büyük-küçük harf kullanımı okunabilirliği artırır
Excel İsim Kutusu 'aralık1'i gösteriyor, A1:A5 hücreleri seçilmiş ve vurgulanmış, kılavuz üzerine kırmızı ok

İsimlendirilmiş aralıklar, boşluklu seçimler veya tüm satırlar/sütunlar için de oluşturulabilir. Daha karmaşık aralık işlemleri için, birden fazla Excel aralığını birleştirme kılavuzuna göz atın.


Çalışma Kitabımdan İsimlendirilmiş Aralıkları Nasıl Alabilirim?

Tüm İsimlendirilmiş Aralıkları Aynı Anda Hangi Metot Alır?

GetNamedRanges yöntemi, çalışma sayfasındaki tüm adlandırılmış aralıkları bir dize listesi olarak döndürür. Bu, bir çalışma kitabındaki tüm isimlendirilmiş aralıkları incelemeniz veya belgelenmemizi gerektiğinde özellikle kullanışlıdır, tıpkı var olan elektronik tabloları yapılarını analiz etmek için yükleme gibi.

:path=/static-assets/excel/content-code-examples/how-to/named-range-retrieve-all-named-range.cs
using IronXL;

WorkBook workBook = WorkBook.Load("addNamedRange.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Get all named range
var namedRangeList = workSheet.GetNamedRanges();
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("addNamedRange.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Get all named range
Private namedRangeList = workSheet.GetNamedRanges()
$vbLabelText   $csharpLabel

Belirli Bir İsimlendirilmiş Aralığı İsmiyle Nasıl Bulurum?

FindNamedRange yöntemini kullanarak Sheet1!$A$1:$A$5 gibi adlandırılmış aralığın mutlak referansını alın. Sonrasında, adres formülü kullanılarak isimlendirilmiş aralık referans alınabilir veya isimlendirilmiş aralığa karşılık gelen aralık seçilebilir. Aralığı seçerken, çalışma sayfası ismine dikkat etmelisiniz.

:path=/static-assets/excel/content-code-examples/how-to/named-range-retrieve-specific-named-range.cs
using IronXL;

WorkBook workBook = WorkBook.Load("addNamedRange.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Get named range address
string namedRangeAddress = workSheet.FindNamedRange("range1");

// Select range
var range = workSheet[$"{namedRangeAddress}"];
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("addNamedRange.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Get named range address
Private namedRangeAddress As String = workSheet.FindNamedRange("range1")

' Select range
Private range = workSheet($"{namedRangeAddress}")
$vbLabelText   $csharpLabel

Birden Fazla Çalışma Sayfasında İsimlendirilmiş Aralıklarla Çalışma

İsimlendirilmiş aralıklar, çalışma kitabı düzeyinde veya çalışma sayfası düzeyinde kapsam olabilir. Çalışma kitabı düzeyinde isimler herhangi bir çalışma sayfasından erişilebilirken, çalışma sayfası düzeyinde isimler yalnızca kendi özel çalışma sayfalarında erişilebilir. Bu ayrım, Excel dosyalarınızdaki birden fazla çalışma sayfasını yönetirken önemlidir.

// Example: Accessing named ranges from different worksheets
WorkBook workBook = WorkBook.Load("multisheet.xlsx");
WorkSheet sheet1 = workBook.GetWorkSheet("Sheet1");
WorkSheet sheet2 = workBook.GetWorkSheet("Sheet2");

// Both can access a workbook-level named range
var range1 = sheet1["GlobalData"];
var range2 = sheet2["GlobalData"];  // Same named range
// Example: Accessing named ranges from different worksheets
WorkBook workBook = WorkBook.Load("multisheet.xlsx");
WorkSheet sheet1 = workBook.GetWorkSheet("Sheet1");
WorkSheet sheet2 = workBook.GetWorkSheet("Sheet2");

// Both can access a workbook-level named range
var range1 = sheet1["GlobalData"];
var range2 = sheet2["GlobalData"];  // Same named range
Imports System

' Example: Accessing named ranges from different worksheets
Dim workBook As WorkBook = WorkBook.Load("multisheet.xlsx")
Dim sheet1 As WorkSheet = workBook.GetWorkSheet("Sheet1")
Dim sheet2 As WorkSheet = workBook.GetWorkSheet("Sheet2")

' Both can access a workbook-level named range
Dim range1 = sheet1("GlobalData")
Dim range2 = sheet2("GlobalData")  ' Same named range
$vbLabelText   $csharpLabel

Çalışma Sayfamdan Bir İsimlendirilmiş Aralığı Nasıl Kaldırırım?

Adlandırılmış aralığı kaldırmak için, adlandırılmış aralık adını metin olarak geçirerek RemoveNamedRange yöntemini kullanın. Bu, temiz, düzenli çalışma kitaplarının korunması ve elektronik tablo yapıları güncellemesi sırasında isim çatışmalarını önlemek için gereklidir.

:path=/static-assets/excel/content-code-examples/how-to/named-range-remove-named-range.cs
using IronXL;

WorkBook workBook = WorkBook.Load("addNamedRange.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Remove named range
workSheet.RemoveNamedRange("range1");
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("addNamedRange.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Remove named range
workSheet.RemoveNamedRange("range1")
$vbLabelText   $csharpLabel

Gelişmiş İsimlendirilmiş Aralık Senaryoları

Formüllerle İsimlendirilmiş Aralıkların Kullanımı

İsimlendirilmiş aralıklar, Excel formülleriyle kullanıldığında gerçekten parlıyor. Formülleri daha okunabilir hale getirir ve bakımı daha kolay hale getirir. Kapsamlı formül yönetimi için, C# cinsinden Excel formülleri kılavuzuna bakın.

// Create named ranges for formula use
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Create sample data
workSheet["A1:A5"].Value = new int[] { 10, 20, 30, 40, 50 };
workSheet["B1:B5"].Value = new int[] { 5, 10, 15, 20, 25 };

// Add named ranges
workSheet.AddNamedRange("FirstColumn", workSheet["A1:A5"]);
workSheet.AddNamedRange("SecondColumn", workSheet["B1:B5"]);

// Use named ranges in formulas
workSheet["D1"].Formula = "=SUM(FirstColumn)";
workSheet["D2"].Formula = "=AVERAGE(SecondColumn)";
workSheet["D3"].Formula = "=SUM(FirstColumn) + SUM(SecondColumn)";

// Evaluate formulas
workSheet.EvaluateAll();
// Create named ranges for formula use
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Create sample data
workSheet["A1:A5"].Value = new int[] { 10, 20, 30, 40, 50 };
workSheet["B1:B5"].Value = new int[] { 5, 10, 15, 20, 25 };

// Add named ranges
workSheet.AddNamedRange("FirstColumn", workSheet["A1:A5"]);
workSheet.AddNamedRange("SecondColumn", workSheet["B1:B5"]);

// Use named ranges in formulas
workSheet["D1"].Formula = "=SUM(FirstColumn)";
workSheet["D2"].Formula = "=AVERAGE(SecondColumn)";
workSheet["D3"].Formula = "=SUM(FirstColumn) + SUM(SecondColumn)";

// Evaluate formulas
workSheet.EvaluateAll();
' Create named ranges for formula use
Dim workBook As WorkBook = WorkBook.Create()
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet

' Create sample data
workSheet("A1:A5").Value = New Integer() {10, 20, 30, 40, 50}
workSheet("B1:B5").Value = New Integer() {5, 10, 15, 20, 25}

' Add named ranges
workSheet.AddNamedRange("FirstColumn", workSheet("A1:A5"))
workSheet.AddNamedRange("SecondColumn", workSheet("B1:B5"))

' Use named ranges in formulas
workSheet("D1").Formula = "=SUM(FirstColumn)"
workSheet("D2").Formula = "=AVERAGE(SecondColumn)"
workSheet("D3").Formula = "=SUM(FirstColumn) + SUM(SecondColumn)"

' Evaluate formulas
workSheet.EvaluateAll()
$vbLabelText   $csharpLabel

Dinamik İsimlendirilmiş Aralıklar

IronXL doğrudan Excel'in dinamik isimlendirilmiş aralıklarını desteklemese de (OFFSET veya INDEX fonksiyonlarını kullanarak), veri değişikliklerine dayalı olarak programlı olarak isimlendirilmiş aralıkları güncelleyebilirsiniz:

// Update named range based on data size
WorkBook workBook = WorkBook.Load("dynamicData.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Find last row with data
int lastRow = 1;
while (!workSheet[$"A{lastRow}"].IsEmpty)
{
    lastRow++;
}
lastRow--; // Adjust to actual last row

// Remove old range and add new one
workSheet.RemoveNamedRange("DataRange");
workSheet.AddNamedRange("DataRange", workSheet[$"A1:A{lastRow}"]);
// Update named range based on data size
WorkBook workBook = WorkBook.Load("dynamicData.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Find last row with data
int lastRow = 1;
while (!workSheet[$"A{lastRow}"].IsEmpty)
{
    lastRow++;
}
lastRow--; // Adjust to actual last row

// Remove old range and add new one
workSheet.RemoveNamedRange("DataRange");
workSheet.AddNamedRange("DataRange", workSheet[$"A1:A{lastRow}"]);
Imports IronXL

' Update named range based on data size
Dim workBook As WorkBook = WorkBook.Load("dynamicData.xlsx")
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet

' Find last row with data
Dim lastRow As Integer = 1
While Not workSheet($"A{lastRow}").IsEmpty
    lastRow += 1
End While
lastRow -= 1 ' Adjust to actual last row

' Remove old range and add new one
workSheet.RemoveNamedRange("DataRange")
workSheet.AddNamedRange("DataRange", workSheet($"A1:A{lastRow}"))
$vbLabelText   $csharpLabel

Veri Doğrulaması için İsimlendirilmiş Aralıklar

İsimlendirilmiş aralıklar, veri doğrulama listeleri ve kısıtlamaları oluşturmak için mükemmeldir. Excel'in veri doğrulama özellikleri ile kombin edildiğinde, veri bütünlüğünü sağlamanın güçlü bir yolunu sunarlar:

// Create a named range for validation list
workSheet["F1:F5"].Value = new string[] { "Option1", "Option2", "Option3", "Option4", "Option5" };
workSheet.AddNamedRange("ValidationList", workSheet["F1:F5"]);

// Apply to data validation (conceptual example)
// The actual validation would reference "ValidationList"
// Create a named range for validation list
workSheet["F1:F5"].Value = new string[] { "Option1", "Option2", "Option3", "Option4", "Option5" };
workSheet.AddNamedRange("ValidationList", workSheet["F1:F5"]);

// Apply to data validation (conceptual example)
// The actual validation would reference "ValidationList"
' Create a named range for validation list
workSheet("F1:F5").Value = New String() {"Option1", "Option2", "Option3", "Option4", "Option5"}
workSheet.AddNamedRange("ValidationList", workSheet("F1:F5"))

' Apply to data validation (conceptual example)
' The actual validation would reference "ValidationList"
$vbLabelText   $csharpLabel

En İyi Uygulamalar ve Performans İpuçları

  1. Adlandırma Kuralları: Verinin amacını belirten açıklayıcı ve tutarlı adlar kullanın (ör. "Data1" yerine Sales_Q1_2024).
  2. Kapsam Yönetimi: Çatışmalardan kaçınmak için çalışma kitabı ile çalışma sayfası kapsamı arasında kasıtlı olun
  3. Dokümantasyon: Özellikle karmaşık çalışma kitaplarında, isimlendirilmiş aralıkların ve amaçlarının bir listesini tutun
  4. Performans: İsimlendirilmiş aralıkların minimum performans etkisi vardır, ancak binlerce küçük isimlendirilmiş aralık oluşturmaktan kaçının
  5. Güncellemeler: Veri yapıları değiştikçe, doğruluğunu korumak için karşılık gelen isimlendirilmiş aralıkları güncelleyin veya kaldırın

Daha gelişmiş Excel işlemleri ve performans optimizasyonu için, tam IronXL belgelerini keşfedin veya Excel aralıklarını sıralama ya da Excel tablolarıyla çalışma gibi belirli özelliklere göz atın.

Sıkça Sorulan Sorular

C# kullanarak Excel'de isimlendirilen bir aralık nasıl oluşturulur?

IronXL ile C# kullanarak Excel'de isimlendirilen bir aralık oluşturmak için hedef aralığınızı (örneğin, workSheet['A1:B2']) çalışma sayfası indeksleyici ile seçin ve ardından dilediğiniz ad ile SaveAsNamedRange yöntemini çağırın. İsmi metin olarak ve aralık nesnesi ile ileterek AddNamedRange yöntemini de kullanabilirsiniz.

Excel isimlendirilen aralıkları için isimlendirme kuralları nelerdir?

İsimlendirilen aralıkları oluştururken şu Excel isimlendirme kurallarını takip edin: İsimler bir harf veya alt çizgi ile başlamalı, boşluklar içeremez (yerine alt çizgi kullanılabilir), 'A1' gibi hücre referansları ile çakışmamalı ve büyük/küçük harfe duyarlı değildir. IronXL bu kuralları isimlendirilen aralıklar oluştururken otomatik olarak uygular.

Excel iş kitabındaki tüm isimlendirilen aralıkları programatik olarak geri alabilir miyim?

Evet, IronXL toplanmış olarak tüm isimlendirilen aralıkları bir dize listesi olarak döndüren GetNamedRanges yöntemini sağlar. Bu özellik, mevcut iş kitaplarında isimlendirilen aralıkları denetlerken veya belgelerken özellikle yararlıdır.

C# içinde Excel formüllerimi nasıl isimlendirilen aralıklar daha iyi hale getirebilir?

IronXL ile çalışırken, isimlendirilen aralıklar Excel formüllerini daha okunabilir ve sürdürülebilir hale getirir. 'A1:B10' gibi hücre referansları yerine, 'SatışVerileri' gibi açıklayıcı isimler kullanarak C# kodunuzu daha anlaşılır ve kolay hale getirebilirsiniz.

Devamlı olmayan hücreler için isimlendirilen aralık oluşturmak mümkün müdür?

Evet, IronXL devamlı olmayan seçimler ve tüm satır veya sütunlar için isimlendirilen aralıklar oluşturmayı destekler. Kütüphanenin kapsamlı çizelge yönetimi özellikleri, basit dikdörtgen seçimlerin ötesinde karmaşık isimlendirilen aralıklar tanımlamanıza olanak tanır.

Tek bir satırda bir isimlendirilen aralığı eklemenin en hızlı yolu nedir?

IronXL ile yeni bir IronXl.WorkBook().DefaultWorkSheet['A1:B2'].SaveAsNamedRange('MyRange', true) kullanarak tek bir satırda isimlendirilen bir aralık oluşturabilirsiniz. Bu, IronXL'ın Excel manipülasyonu için optimize edilmiş API'sini gösterir.

Excel çalışma sayfasından isimlendirilen aralıkları nasıl kaldırırım?

IronXL, çalışma sayfanızdan isimlendirilen aralıkları kolayca silmek için RemoveNamedRange yöntemini sağlar. Bu, kütüphanenin eksiksiz isimlendirilen aralık yönetim yeteneklerinin bir parçasıdır ve programatik olarak isimlendirilen aralıklar eklemenize, almanıza ve kaldırmanıza olanak tanır.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 2,052,917 | Sürüm: 2026.6 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronXL.Excel
örnek çalıştır verinizin bir hesap tablosu haline geldiğini izleyin.