إدارة الصفوف والأعمدة في جداول PowerPoint في .NET
لسماح لك بإدارة صفوف وأعمدة جدول في عرض تقديمي PowerPoint، توفر Aspose.Slides الفئة Table والواجهة ITable والعديد من الأنواع الأخرى.
تعيين الصف الأول كعنوان
- إنشاء مثيل للفئة Presentation وتحميل العرض التقديمي.
- الحصول على مرجع الشريحة عبر فهرسها.
- إنشاء كائن ITable وتعيينه إلى null.
- التجول بين جميع كائنات IShape للعثور على الجدول المناسب.
- تعيين الصف الأول للجدول كعنوان له.
هذا الكود C# يوضح لك كيفية تعيين الصف الأول للجدول كعنوان:
// يقوم بإنشاء كائن من الفئة Presentation
Presentation pres = new Presentation("table.pptx");
// الوصول إلى الشريحة الأولى
ISlide sld = pres.Slides[0];
// تهيئة TableEx كقيمة null
ITable tbl = null;
// يتنقل عبر الأشكال ويحدد إشارة إلى الجدول
foreach (IShape shp in sld.Shapes)
{
if (shp is ITable)
{
tbl = (ITable)shp;
}
}
// يضبط الصف الأول للجدول كرأسه
tbl.FirstRow = true;
// يحفظ العرض التقديمي إلى القرص
pres.Save("First_row_header.pptx", SaveFormat.Pptx);
استنساخ صف أو عمود في جدول
- إنشاء مثيل للفئة Presentation وتحميل العرض التقديمي،
- الحصول على مرجع الشريحة عبر فهرسها.
- تعريف مصفوفة
columnWidth. - تعريف مصفوفة
rowHeight. - إضافة كائن ITable إلى الشريحة عبر الطريقة AddTable.
- استنساخ صف الجدول.
- استنساخ عمود الجدول.
- حفظ العرض التقديمي المعدل.
هذا الكود C# يوضح لك كيفية استنساخ صف أو عمود في جدول PowerPoint:
// يقوم بإنشاء كائن من فئة Presentation
using (Presentation presentation = new Presentation("Test.pptx"))
{
// الوصول إلى الشريحة الأولى
ISlide sld = presentation.Slides[0];
// تعريف الأعمدة بعرضها والصفوف بارتفاعها
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };
// إضافة شكل جدول إلى الشريحة
ITable table = sld.Shapes.AddTable(100, 50, dblCols, dblRows);
// إضافة نص إلى الصف 1 الخلية 1
table[0, 0].TextFrame.Text = "Row 1 Cell 1";
// إضافة نص إلى الصف 1 الخلية 2
table[1, 0].TextFrame.Text = "Row 1 Cell 2";
// استنساخ الصف 1 في نهاية الجدول
table.Rows.AddClone(table.Rows[0], false);
// إضافة نص إلى الصف 2 الخلية 1
table[0, 1].TextFrame.Text = "Row 2 Cell 1";
// إضافة نص إلى الصف 2 الخلية 2
table[1, 1].TextFrame.Text = "Row 2 Cell 2";
// استنساخ الصف 2 كصف رابع في الجدول
table.Rows.InsertClone(3,table.Rows[1], false);
// استنساخ العمود الأول في النهاية
table.Columns.AddClone(table.Columns[0], false);
// استنساخ العمود الثاني في الفهرس الرابع
table.Columns.InsertClone(3,table.Columns[1], false);
// حفظ العرض التقديمي إلى القرص
presentation.Save("table_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}
إزالة صف أو عمود من جدول
- إنشاء مثيل للفئة Presentation وتحميل العرض التقديمي،
- الحصول على مرجع الشريحة عبر فهرسها.
- تعريف مصفوفة
columnWidth. - تعريف مصفوفة
rowHeight. - إضافة كائن ITable إلى الشريحة عبر الطريقة AddTable.
- إزالة صف الجدول.
- إزالة عمود الجدول.
- حفظ العرض التقديمي المعدل.
هذا الكود C# يوضح لك كيفية إزالة صف أو عمود من جدول:
Presentation pres = new Presentation();
ISlide slide = pres.Slides[0];
double[] colWidth = { 100, 50, 30 };
double[] rowHeight = { 30, 50, 30 };
ITable table = slide.Shapes.AddTable(100, 100, colWidth, rowHeight);
table.Rows.RemoveAt(1, false);
table.Columns.RemoveAt(1, false);
pres.Save("TestTable_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
تعيين تنسيق النص على مستوى صف الجدول
- إنشاء مثيل للفئة Presentation وتحميل العرض التقديمي،
- الحصول على مرجع الشريحة عبر فهرسها.
- الوصول إلى كائن ITable المناسب من الشريحة.
- تعيين ارتفاع الخط FontHeight للخلوم في الصف الأول.
- تعيين Alignment وMarginRight للخلوم في الصف الأول.
- تعيين TextVerticalType للخلوم في الصف الثاني.
- حفظ العرض التقديمي المعدل.
هذا الكود C# يوضح العملية.
// ينشئ مثيلًا من الفئة Presentation
Presentation presentation = new Presentation();
ISlide slide = presentation.Slides[0];
ITable someTable = presentation.Slides[0].Shapes[0] as ITable; // لنفترض أن الشكل الأول في الشريحة الأولى هو جدول
// يحدد ارتفاع خط خلايا الصف الأول
PortionFormat portionFormat = new PortionFormat();
portionFormat.FontHeight = 25;
someTable.Rows[0].SetTextFormat(portionFormat);
// يضبط محاذاة نص خلايا الصف الأول والهوامش اليمنى
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.Alignment = TextAlignment.Right;
paragraphFormat.MarginRight = 20;
someTable.Rows[0].SetTextFormat(paragraphFormat);
// يضبط نوع النص العمودي لخلايا الصف الثاني
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.TextVerticalType = TextVerticalType.Vertical;
someTable.Rows[1].SetTextFormat(textFrameFormat);
// يحفظ العرض التقديمي إلى القرص
presentation.Save("result.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
تعيين تنسيق النص على مستوى عمود الجدول
- إنشاء مثيل للفئة Presentation وتحميل العرض التقديمي،
- الحصول على مرجع الشريحة عبر فهرسها.
- الوصول إلى كائن ITable المناسب من الشريحة.
- تعيين ارتفاع الخط FontHeight للخلوم في العمود الأول.
- تعيين Alignment وMarginRight للخلوم في العمود الأول.
- تعيين TextVerticalType للخلوم في العمود الثاني.
- حفظ العرض التقديمي المعدل.
هذا الكود C# يوضح العملية:
// ينشئ مثيلًا من الفئة Presentation
Presentation pres = new Presentation();
ISlide slide = pres.Slides[0];
ITable someTable = pres.Slides[0].Shapes[0] as ITable; // لنفترض أن الشكل الأول في الشريحة الأولى هو جدول
// يحدد ارتفاع خط خلايا العمود الأول
PortionFormat portionFormat = new PortionFormat();
portionFormat.FontHeight = 25;
someTable.Columns[0].SetTextFormat(portionFormat);
// يضبط محاذاة نص خلايا العمود الأول والهوامش اليمنى في استدعاء واحد
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.Alignment = TextAlignment.Right;
paragraphFormat.MarginRight = 20;
someTable.Columns[0].SetTextFormat(paragraphFormat);
// يحدد نوع النص العمودي لخلايا العمود الثاني
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.TextVerticalType = TextVerticalType.Vertical;
someTable.Columns[1].SetTextFormat(textFrameFormat);
// يحفظ العرض التقديمي إلى القرص
pres.Save("result.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
الحصول على خصائص نمط الجدول
تسمح لك Aspose.Slides باسترجاع خصائص النمط لجدول حتى تتمكن من استخدام هذه التفاصيل لجدول آخر أو في مكان آخر. يُظهر هذا الكود C# كيفية الحصول على خصائص النمط من نمط جدول محدد مسبقًا:
using (Presentation pres = new Presentation())
{
ITable table = pres.Slides[0].Shapes.AddTable(10, 10, new double[] { 100, 150 }, new double[] { 5, 5, 5 });
table.StylePreset = TableStylePreset.DarkStyle1; // تغيير سمة نمط الإعداد الافتراضي
pres.Save("table.pptx", SaveFormat.Pptx);
}
الأسئلة المتكررة
هل يمكنني تطبيق سمات/أنماط PowerPoint على جدول تم إنشاؤه مسبقًا؟
نعم. يرث الجدول سمة الشريحة/التخطيط/القالب الرئيسي، ولا يزال بإمكانك تجاوز التعبئات والحدود وألوان النص فوق تلك السمة.
هل يمكنني فرز صفوف الجدول كما في Excel؟
لا، جداول Aspose.Slides لا تدعم الفرز أو الفلاتر مدمجة. قم بفرز البيانات في الذاكرة أولاً، ثم أعد تعبئة صفوف الجدول وفقًا لهذا الترتيب.
هل يمكنني الحصول على أعمدة مخططة (متجانبة) مع الحفاظ على ألوان مخصصة لخلايا معينة؟
نعم. فعّل الأعمدة المخططة، ثم تجاوز خلايا معينة باستخدام تنسيق محلي؛ فالتنسيق على مستوى الخلية له أولوية أعلى من نمط الجدول.