إعدادات الحدود باستخدام 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();
}