إعدادات الحدود باستخدام C++

إضافة حدود إلى الخلايا

يسمح Microsoft Excel للمستخدمين بتنسيق الخلايا عن طريق إضافة حدود. يعتمد نوع الحد على مكان إضافته. على سبيل المثال، الحد العلوي هو الحد المضاف إلى أعلى موضع من الخلية. يمكن للمستخدمين أيضًا تعديل نمط وخطوط الألوان للحدود.

مع Aspose.Cells، يمكن للمطورين إضافة حدود وتخصيص مظهرها بنفس الطريقة المرنة كما في Microsoft Excel.

إضافة حدود إلى الخلايا

توفر مكتبة Aspose.Cells فئة Workbook التي تمثل ملف Excel من Microsoft. تحتوي فئة Workbook على مجموعة Worksheets تتيح الوصول إلى كل ورقة عمل في ملف Excel. تمثل ورقة العمل بواسطة فئة Worksheet. توفر فئة Worksheet مجموعة Cells. كل عنصر في مجموعة Cells يمثل كائن من الفئة Cell.

يقدم Aspose.Cells طريقة GetStyle في فئة Cell. تُستخدم طريقة SetStyle لتعيين نمط تنسيق الخلية. توفر فئة Style خصائص لإضافة حدود إلى الخلايا.

إضافة حدود إلى خلية

يمكن للمطورين إضافة حدود إلى خلية باستخدام مجموعة GetBorders() من كائن Style. يُمرر نوع الحد كفهرس إلى مجموعة GetBorders(). جميع أنواع الحدود معرفَة مسبقًا في تعداد BorderType.

تعداد الحدود

أنواع الحدود الوصف
الحد السفلي خط الحد السفلي
القطع القطري للأسفل خط قطري من أعلى اليسار إلى أسفل اليمين
القطع القطري للأعلى خط قطري من أسفل اليسار إلى أعلى اليمين
الحد الأيسر خط الحد الأيسر
الحد الأيمن خط الحد الأيمن
الحد العلوي خط الحد العلوي

تخزن مجموعة GetBorders() جميع الحدود. يُمثل كل حد في مجموعة GetBorders() بواسطة كائن Border يوفر خصيتين، GetColor() وGetLineStyle() لضبط لون الخط ونمط الحد على التوالي.

لضبط لون خط الحد، اختر لونًا باستخدام تعداد اللون وقم بتعيينه لخاصية لون كائن الحد.

يتم ضبط نمط خط الحد عن طريق اختيار نمط خط من تعداد CellBorderType.

تعداد CellBorderType

أنماط الخطوط الوصف
DashedDot خط مخطوط رفيع مغير
DashedDotDot خط مخطوط مع خطقطار رفيع
Dashed خط مخطط
Dotted خط نقطي
Double خط مزدوج
Hair خط شعر
MediumDashDot خط مخطوط متوسط
MediumDashDotDot خط مخطوط مخطط متوسط
MediumDashed خط مخطط متوسط
None بدون خط
Medium خط متوسط
SlantedDashDot خط مائل مخطوط متوسط
Thick خط سميك
Thin خط رقيق

اختر أحد أنماط الخط ثم قم بتعيينه إلى خاصية GetLineStyle() لكائن Border.

#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    Workbook workbook;
    Worksheet worksheet = workbook.GetWorksheets().Get(0);
    Cell cell = worksheet.GetCells().Get(u"A1");
    cell.PutValue(u"Visit Aspose!");

    Style style = cell.GetStyle();

    style.GetBorders().Get(BorderType::TopBorder).SetLineStyle(CellBorderType::Thick);
    style.GetBorders().Get(BorderType::TopBorder).SetColor(Color::Black());

    style.GetBorders().Get(BorderType::BottomBorder).SetLineStyle(CellBorderType::Thick);
    style.GetBorders().Get(BorderType::BottomBorder).SetColor(Color::Black());

    style.GetBorders().Get(BorderType::LeftBorder).SetLineStyle(CellBorderType::Thick);
    style.GetBorders().Get(BorderType::LeftBorder).SetColor(Color::Black());

    style.GetBorders().Get(BorderType::RightBorder).SetLineStyle(CellBorderType::Thick);
    style.GetBorders().Get(BorderType::RightBorder).SetColor(Color::Black());

    cell.SetStyle(style);

    workbook.Save(outDir + u"book1.out.xls");
    std::cout << "Excel file saved successfully!" << std::endl;

    Aspose::Cells::Cleanup();
}

إضافة حدود لمجموعة من الخلايا

من الممكن أيضًا إضافة حدود لنطاق من الخلايا بدلاً من خلية واحدة فقط. للقيام بذلك، أولاً، أنشئ نطاق خلايا عبر استدعاء طريقة CreateRange لمجموعة Cells. تأخذ المعلمات التالية:

  • الصف الأول، الصف الأول من المجموعة.
  • العمود الأول، يمثل العمود الأول من المجموعة.
  • عدد الصفوف، عدد الصفوف في المجموعة.
  • عدد الأعمدة، عدد الأعمدة في المجموعة.

تعيد طريقة CreateRange كائن Range، الذي يحتوي على النطاق المحدد من الخلايا. يوفر كائن Range طريقة SetOutlineBorder التي تأخذ المعلمات التالية لإضافة حد إلى نطاق الخلايا:

  • نوع الحد، نوع الحد، مختار من تعداد BorderType.
  • نمط الخط، نمط خط الحد، مختار من تعداد CellBorderType.
  • اللون، لون الخط، المحدد من تعداد الألوان.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    // Source directory path
    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");

    // Output directory path
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    // Create workbook
    Workbook workbook;

    // Obtain the reference of the first (default) worksheet
    Worksheet worksheet = workbook.GetWorksheets().Get(0);

    // Accessing the "A1" cell from the worksheet
    Cell cell = worksheet.GetCells().Get(u"A1");

    // Adding some value to the "A1" cell
    cell.PutValue(u"Hello World From Aspose");

    // Creating a range of cells starting from "A1" cell to 3rd column in a row
    Range range = worksheet.GetCells().CreateRange(0, 0, 1, 3);

    // Adding a thick top border with blue line
    range.SetOutlineBorder(BorderType::TopBorder, CellBorderType::Thick, Color::Blue());

    // Adding a thick bottom border with blue line
    range.SetOutlineBorder(BorderType::BottomBorder, CellBorderType::Thick, Color::Blue());

    // Adding a thick left border with blue line
    range.SetOutlineBorder(BorderType::LeftBorder, CellBorderType::Thick, Color::Blue());

    // Adding a thick right border with blue line
    range.SetOutlineBorder(BorderType::RightBorder, CellBorderType::Thick, Color::Blue());

    // Saving the Excel file
    workbook.Save(outDir + u"book1.out.xls");

    std::cout << "Excel file created successfully!" << std::endl;

    Aspose::Cells::Cleanup();
}