Erişim Oluştur ve Adlandırılmış Aralıkları Kopyala
Giriş
Normalde, sütun ve satır etiketleri bireysel hücrelere atıfta bulunmak için kullanılır. Hücrelere, hücre gruplarına, formüllere veya sabit değerlere temsil etmek için açıklayıcı isimler oluşturulabilir. ‘İsim’ kelimesi, bir hücreyi, hücre grubunu, formülü veya sabit değeri temsil eden bir karakter dizisine atıfta bulunabilir. Bir aralığa ad atamak, o hücre grubunun adı ile atıfta bulunulabilir anlamına gelir. Satırlar, eğilmesi zor olan satışlar gibi zor anlaşılabilen aralıklara atıfta bulunmak için kolay anlaşılabilir isimler kullanın. Etiketler, aynı çalışma sayfasındaki verilere atıfta bulunan formüllerde kullanılabilir; başka bir çalışma sayfasında bir aralığı temsil etmek isterseniz bir isim kullanabilirsiniz. ‘Adlandırılmış aralıklar, özellikle liste denetimleri, özet tablolar, grafikler vb. için kaynak aralık olarak kullanıldığında Microsoft Excel’in en güçlü özellikleri arasındadır.
Microsoft Excel Kullanarak Adlandırılmış Aralık İle Çalışma
Adlandırılmış Aralık Oluştur
Aşağıdaki adımlar, MS Excel kullanarak bir hücreyi veya hücre aralığını adlandırmanın nasıl yapıldığını açıklar. Bu yöntem Microsoft Office Excel 2003, Microsoft Excel 97, 2000 ve 2002 için uygundur.
- Adlandırmak istediğiniz hücreyi veya hücre aralığını seçin.
- Formül çubuğunun sol ucundaki Ad Kutusu’nu tıklayın.
- Hücrelerin adını yazın.
- ENTER tuşuna basın.
Aspose.Cells Kullanarak Adlandırılmış Aralık İle Çalışma
Burada görevi yapmak için Aspose.Cells API’sını kullanıyoruz. Aspose.Cells, Microsoft Excel dosyasını temsil eden bir sınıf, Workbook sağlar. Workbook sınıfı, bir Excel dosyasındaki her çalışsayfaya erişim sağlayan Worksheets koleksiyonunu içerir. Bir çalışsayfa Worksheet sınıfı tarafından temsil edilir. Worksheet sınıfı bir Cells koleksiyonu sağlar.
İsimlendirilmiş Aralık Oluştur
Bir adlandırılmış aralık oluşturmak, Cells koleksiyonunun aşırı yüklenmiş CreateRange yöntemini çağırarak mümkündür. CreateRange yönteminin tipik bir sürümü aşağıdaki parametreleri alır:
- Sol üst hücrenin adı, aralıktaki sol üst hücrenin adı.
- Sağ alt hücrenin adı, aralıktaki sağ alt hücrenin adı.
CreateRange yöntemi çağrıldığında, yeni oluşturulan aralık, Range sınıfının bir örneği olarak döner. Bu Range nesnesini, isimlendirilmiş aralığı yapılandırmak için kullanın. Örneğin, Name özelliğini kullanarak aralığın adını ayarlayın. Aşağıdaki örnek, B4:G14 üzerine uzanan hücrelerin adlandırılmış bir aralık oluşturmak için nasıl yapılacağını göstermektedir.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Opening the Excel file through the file stream | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Accessing the first worksheet in the Excel file | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Creating a named range | |
Range range = worksheet.Cells.CreateRange("B4", "G14"); | |
// Setting the name of the named range | |
range.Name = "TestRange"; | |
// Saving the modified Excel file | |
workbook.Save(dataDir + "output.out.xls"); |
Adı Verilen Aralıktaki Hücrelere Veri Girişi
Bir aralıktaki bireysel hücrelere veri ekleyebilirsiniz. İzlenecek desen aşağıdaki gibidir
- C#: Range[row,column]
- VB: Range(row,column)
A1:C4’ü kapsayan bir isimlendirilmiş aralığınız olduğunu düşünün. Matris 4 * 3 = 12 hücre yaratır. Bireysel aralık hücreleri ardışık olarak düzenlenir: Range[0,0], Range[0,1], Range[0,2], Range[1,0], Range[1,1], Range[1,2], Range[2,0], Range[2,1], Range[2,2], Range[3,0], Range[3,1], Range[3,2].
Aralıktaki hücreleri tanımlamak için aşağıdaki özellikleri kullanın:
- FirstRow, isimlendirilmiş aralıktaki ilk satırın indisini döndürür.
- FirstColumn, isimlendirilmiş aralıktaki ilk sütunun indisini döndürür.
- RowCount, isimlendirilmiş aralıktaki toplam satır sayısını döndürür.
- ColumnCount, isimlendirilmiş aralıktaki toplam sütun sayısını döndürür.
Aşağıdaki örnek, belirtilen bir aralıktaki hücrelere bazı değerler girmeyi gösterir.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Instantiate a new Workbook. | |
Workbook workbook = new Workbook(); | |
// Get the first worksheet in the workbook. | |
Worksheet worksheet1 = workbook.Worksheets[0]; | |
// Create a range of cells based on H1:J4. | |
Range range = worksheet1.Cells.CreateRange("H1", "J4"); | |
// Name the range. | |
range.Name = "MyRange"; | |
// Input some data into cells in the range. | |
range[0, 0].PutValue("USA"); | |
range[0, 1].PutValue("SA"); | |
range[0, 2].PutValue("Israel"); | |
range[1, 0].PutValue("UK"); | |
range[1, 1].PutValue("AUS"); | |
range[1, 2].PutValue("Canada"); | |
range[2, 0].PutValue("France"); | |
range[2, 1].PutValue("India"); | |
range[2, 2].PutValue("Egypt"); | |
range[3, 0].PutValue("China"); | |
range[3, 1].PutValue("Philipine"); | |
range[3, 2].PutValue("Brazil"); | |
// Save the excel file. | |
workbook.Save(dataDir + "rangecells.out.xls"); |
İsimlendirilmiş Aralıktaki Hücreleri Tanımlama
Bir aralıktaki bireysel hücrelere veri ekleyebilirsiniz. İzlenecek desen aşağıdaki gibidir:
- C#: Range[row,column]
- VB: Range(row,column)
Eğer A1:C4’ü kapsayan bir isimlendirilmiş aralığınız varsa, matris 4 * 3 = 12 hücre yaratır. Bireysel aralık hücreleri ardışık olarak düzenlenir: Range[0,0], Range[0,1], Range[0,2], Range[1,0] ,Range[1,1], Range[1,2], Range[2,0], Range[2,1], Range[2,2], Range[3,0], Range[3,1], Range[3,2].
Aralıktaki hücreleri tanımlamak için aşağıdaki özellikleri kullanın:
- FirstRow, isimlendirilmiş aralıktaki ilk satırın indisini döndürür.
- FirstColumn, isimlendirilmiş aralıktaki ilk sütunun indisini döndürür.
- RowCount, isimlendirilmiş aralıktaki toplam satır sayısını döndürür.
- ColumnCount, isimlendirilmiş aralıktaki toplam sütun sayısını döndürür.
Aşağıdaki örnek, belirtilen bir aralıktaki hücrelere bazı değerler girmeyi gösterir.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Instantiate a new Workbook. | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Getting the specified named range | |
Range range = workbook.Worksheets.GetRangeByName("TestRange"); | |
// Identify range cells. | |
Console.WriteLine( "First Row : " + range.FirstRow); | |
Console.WriteLine( "First Column : " + range.FirstColumn); | |
Console.WriteLine( "Row Count : " + range.RowCount); | |
Console.WriteLine( "Column Count : " + range.ColumnCount); |
İsimlendirilmiş Aralıklara Eriş
Belirli Bir Adlandırılmış Aralığa Erişme
Belirli bir adlandırılmış aralığa erişmek için Worksheets koleksiyonunun GetRangeByName yöntemini çağırın. Tipik bir GetRangeByName yöntemi, adlandırılmış aralığın adını alır ve belirtilen adlandırılmış aralığı Range sınıfının bir örneği olarak döndürür. Aşağıdaki örnek, adına göre belirtilen bir aralığa nasıl erişileceğini göstermektedir.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Opening the Excel file through the file stream | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Getting the specified named range | |
Range range = workbook.Worksheets.GetRangeByName("TestRange"); | |
if (range != null) | |
Console.WriteLine("Named Range : " + range.RefersTo); |
Bir Elektronik Tablodaki Tüm İsimlendirilmiş Aralıklara Eriş
Bir elektronik tablodaki tüm isimlendirilmiş aralıklara erişmek için Worksheet koleksiyonunun GetNamedRanges yöntemini çağırın. GetNamedRanges yöntemi, Worksheets koleksiyonundaki tüm adlandırılmış aralık dizisini döndürür.
Aşağıdaki örnek, bir çalışma kitabındaki tüm adlandırılmış aralıklara erişmeyi gösterir.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Opening the Excel file through the file stream | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Getting all named ranges | |
Range[] range = workbook.Worksheets.GetNamedRanges(); | |
if(range != null) | |
Console.WriteLine("Total Number of Named Ranges: " + range.Length); |
İsimlendirilmiş Aralıkları Kopyala
Aspose.Cells, bir hücre aralığını biçimlendirmesiyle birlikte başka bir aralığa kopyalamak için Range.Copy() yöntemi sağlar.
Aşağıdaki örnek, kaynak hücre aralığını başka adlandırılmış bir aralığa kopyalamanın nasıl yapıldığını göstermektedir.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Instantiate a new Workbook. | |
Workbook workbook = new Workbook(); | |
// Get all the worksheets in the book. | |
WorksheetCollection worksheets = workbook.Worksheets; | |
// Get the first worksheet in the worksheets collection. | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Create a range of cells. | |
Range range1 = worksheet.Cells.CreateRange("E12", "I12"); | |
// Name the range. | |
range1.Name = "MyRange"; | |
// Set the outline border to the range. | |
range1.SetOutlineBorder(BorderType.TopBorder, CellBorderType.Medium, Color.FromArgb(0, 0, 128)); | |
range1.SetOutlineBorder(BorderType.BottomBorder, CellBorderType.Medium, Color.FromArgb(0, 0, 128)); | |
range1.SetOutlineBorder(BorderType.LeftBorder, CellBorderType.Medium, Color.FromArgb(0, 0, 128)); | |
range1.SetOutlineBorder(BorderType.RightBorder, CellBorderType.Medium, Color.FromArgb(0, 0, 128)); | |
// Input some data with some formattings into | |
// A few cells in the range. | |
range1[0, 0].PutValue("Test"); | |
range1[0, 4].PutValue("123"); | |
// Create another range of cells. | |
Range range2 = worksheet.Cells.CreateRange("B3", "F3"); | |
// Name the range. | |
range2.Name = "testrange"; | |
// Copy the first range into second range. | |
range2.Copy(range1); | |
// Save the excel file. | |
workbook.Save(dataDir + "copyranges.out.xls"); |