إنشاء الوصول ونسخ النطاقات المسماة

مقدمة

عادةً ، تُستخدم تسميات الأعمدة والصفوف للإشارة إلى الخلايا الفردية. من الممكن إنشاء أسماء وصفية لتمثيل الخلايا أو نطاقات الخلايا أو الصيغ أو القيم الثابتة. الكلمةاسم قد يشير إلى سلسلة من الأحرف التي تمثل خلية أو نطاق من الخلايا أو صيغة أو قيمة ثابتة. يعني تعيين اسم لنطاق أنه يمكن الإشارة إلى هذا النطاق من الخلايا باسمه. استخدم أسماء سهلة الفهم ، مثل المنتجات ، للإشارة إلى نطاقات يصعب فهمها ، مثل Sales! C20: C30. يمكن استخدام التسميات في الصيغ التي تشير إلى البيانات الموجودة في نفس ورقة العمل ؛ إذا كنت تريد تمثيل نطاق في ورقة عمل أخرى ، فيمكنك استخدام اسم. * تعد النطاقات المسماة من بين أقوى ميزات Microsoft Excel ، خاصة عند استخدامها كنطاق مصدر لعناصر تحكم القائمة والجداول المحورية والمخططات وما إلى ذلك.

العمل مع النطاق المحدد باستخدام Microsoft Excel

إنشاء نطاقات مسماة

تصف الخطوات التالية كيفية تسمية خلية أو نطاق من الخلايا باستخداممايكروسوفت اكسل . تنطبق هذه الطريقة علىMicrosoft Office Excel 2003, Microsoft إكسل 97, 2000 و2002.

  1. حدد الخلية ، نطاق الخلايا التي تريد تسميتها.
  2. انقر علىمربع الاسم في الطرف الأيسر من شريط الصيغة.
  3. اكتب اسم الخلايا.
  4. اضغط دخول.

العمل مع النطاق المحدد باستخدام Aspose.Cells

هنا ، نستخدم Aspose.Cells API للقيام بالمهمة. Aspose.Cells يوفر فصل دراسي ،دفتر العمل يمثل ملف Excel Microsoft. الدفتر العمل فئة تحتوي علىأوراق عمل مجموعة تسمح بالوصول إلى كل ورقة عمل في ملف Excel. يتم تمثيل ورقة العمل بواسطةورقة عمل صف دراسي. الورقة عمل فئة توفر أCells مجموعة.

إنشاء نطاق مسمى

من الممكن إنشاء نطاق مسمى عن طريق استدعاء overloadedCreateRange طريقةCells مجموعة. نسخة نموذجية منCreateRange تأخذ الطريقة المعلمات التالية:

  • اسم الخلية اليسرى العلوية ، اسم الخلية اليسرى العلوية في النطاق.
  • اسم الخلية اليمنى السفلية ، اسم الخلية اليمنى السفلية في النطاق.

عندماCreateRange يتم استدعاء الأسلوب ، ويعيد النطاق الذي تم إنشاؤه حديثًا كمثيل لـنطاق صف دراسي. استخدم هذانطاق كائن لتكوين النطاق المسمى. على سبيل المثال ، قم بتعيين اسم النطاق باستخداماسم خاصية. يوضح المثال التالي كيفية إنشاء نطاق مسمى من الخلايا يمتد عبر B4: G14.

// 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");

أدخل البيانات في Cells في النطاق المحدد

يمكنك إدراج البيانات في الخلايا الفردية للنطاق باتباع النمط

  • C#: النطاق [الصف ، العمود]
  • VB: النطاق (الصف والعمود)

لنفترض أن لديك نطاقًا مسمى من الخلايا يمتد من A1 إلى C4. تجعل المصفوفة 4 * 3 = 12 خلية. يتم ترتيب خلايا النطاق الفردية بالتسلسل: النطاق [0،0] ، النطاق [0،1] ، النطاق [0،2] ، النطاق [1،0] ، النطاق [1،1] ، النطاق [1،2] ، النطاق [2،0] ، النطاق [2،1] ، النطاق [2،2] ، النطاق [3،0] ، النطاق [3،1] ، النطاق [3،2].

استخدم الخصائص التالية لتحديد الخلايا الموجودة في النطاق:

  • يُرجع FirstRow فهرس الصف الأول في النطاق المسمى.
  • يُرجع FirstColumn فهرس العمود الأول في النطاق المسمى.
  • يُرجع RowCount العدد الإجمالي للصفوف في النطاق المسمى.
  • ColumnCount بإرجاع العدد الإجمالي للأعمدة في النطاق المسمى.

يوضح المثال التالي كيفية إدخال بعض القيم في خلايا نطاق محدد.

// 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");

حدد Cells في النطاق المحدد

يمكنك إدراج البيانات في الخلايا الفردية للنطاق باتباع النمط:

  • C#: النطاق [الصف ، العمود]
  • VB: النطاق (الصف والعمود)

إذا كان لديك نطاق مسمى يمتد من A1: C4. تجعل المصفوفة 4 * 3 = 12 خلية. يتم ترتيب خلايا النطاق الفردية بالتسلسل: النطاق [0،0] ، النطاق [0،1] ، النطاق [0،2] ، النطاق [1،0] ، النطاق [1،1] ، النطاق [1،2] ، النطاق [2،0] ، النطاق [2،1] ، النطاق [2،2] ، النطاق [3،0] ، النطاق [3،1] ، النطاق [3،2].

استخدم الخصائص التالية لتحديد الخلايا الموجودة في النطاق:

  • يُرجع FirstRow فهرس الصف الأول في النطاق المسمى.
  • يُرجع FirstColumn فهرس العمود الأول في النطاق المسمى.
  • يُرجع RowCount العدد الإجمالي للصفوف في النطاق المسمى.
  • ColumnCount بإرجاع العدد الإجمالي للأعمدة في النطاق المسمى.

يوضح المثال التالي كيفية إدخال بعض القيم في خلايا نطاق محدد.

// 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);

الوصول إلى النطاقات المسماة

الوصول إلى نطاق مسمى معين

اتصل بأوراق عمل المجموعةGetRangeByName طريقة للحصول على نطاق بالاسم المحدد. نموذجيGetRangeByName يأخذ الأسلوب اسم النطاق المسمى ويعيد النطاق المسمى المحدد كمثيل لـنطاق صف دراسي. يوضح المثال التالي كيفية الوصول إلى نطاق محدد من خلال اسمه.

// 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);

الوصول إلى جميع النطاقات المسماة في جدول بيانات

اتصل بورقة عمل المجموعةGetNamedRanges طريقة للحصول على جميع النطاقات المسماة في جدول بيانات. الGetNamedRanges تقوم الطريقة بإرجاع مصفوفة من كافة نطاقات الأسماء في ملفأوراق عمل مجموعة.

يوضح المثال التالي كيفية الوصول إلى كافة النطاقات المسماة في مصنف.

// 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);

نسخ النطاقات المسماة

يوفر Aspose.Cellsالمدى. نسخ () طريقة لنسخ نطاق من الخلايا بتنسيق في نطاق آخر.

يوضح المثال التالي كيفية نسخ نطاق مصدر من الخلايا إلى نطاق مسمى آخر.

// 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");