جداول برای چیدمان داده ها به صورت سطر و ستون استفاده می شود. علاوه بر این، آنها داده ها را سازماندهی و خلاصه می کنند تا بتوان آنها را به راحتی مشاهده و تجزیه و تحلیل کرد. MS PowerPoint همچنین به شما امکان درج جداول در ارائه ها را می دهد. بر این اساس، این مقاله به نحوه ایجاد و دستکاری جداول در ارائه های پاورپوینت با استفاده از سی شارپ می پردازد.
- C# API برای ایجاد و دستکاری جداول در پاورپوینت
- ایجاد یک جدول در ارائه پاورپوینت
- دسترسی به یک جدول در یک ارائه
- قالب بندی متن در جداول پاورپوینت
- قفل نسبت ابعاد جداول
C# API برای ایجاد و دستکاری جداول در پاورپوینت
برای ایجاد و دستکاری جداول در ارائه های پاورپوینت، از Aspose.Slides for .NET استفاده می کنیم. API به شما امکان می دهد اسناد پاورپوینت و اپن آفیس را ایجاد، دستکاری و تبدیل کنید. میتوانید DLL API را دانلود کنید و یک مرجع به آن در پروژه خود اضافه کنید. همچنین، می توانید آن را با استفاده از NuGet نصب کنید.
PM> Install-Package Aspose.Slides.NET
ایجاد جدول در ارائه پاورپوینت با استفاده از سی شارپ
ایجاد یک جدول با استفاده از Aspose.Slides برای دات نت یک تکه کیک است. مراحل زیر نحوه ایجاد جدول در ارائه پاورپوینت با استفاده از سی شارپ را نشان می دهد.
- ابتدا یک ارائه جدید ایجاد کنید یا یک ارائه موجود را با استفاده از کلاس Presentation بارگذاری کنید.
- سپس، مرجع اسلاید مورد نظر را در یک شی ISlide دریافت کنید.
- عرض و ارتفاع ستون ها و ردیف ها را به ترتیب در آرایه های دوگانه[] تعریف کنید.
- با استفاده از روش ISlide.Shapes.AddTable() یک جدول جدید در ارائه درج کنید.
- مرجع جدول جدید ایجاد شده را در یک شیء ITable دریافت کنید.
- یک حلقه برای تکرار در ردیف های جدول ایجاد کنید.
- یک حلقه تودرتو برای تکرار در سلول های جدول ایجاد کنید و در هر تکرار، عملیات زیر را انجام دهید.
- متن سلول را با استفاده از ویژگی ITable.Rows[rowIndex][cellIndex].TextFrame.Text تنظیم کنید.
- مرجع قالب بندی سلول را به یک شی ICEllFormat دریافت کنید و در صورت نیاز، سبک حاشیه سلول را تنظیم کنید.
- در نهایت، ارائه را با استفاده از روش Presentation.Save(String, SaveFormat) ذخیره کنید.
نمونه کد زیر نحوه ایجاد جدول در ارائه پاورپوینت را نشان می دهد.
// ایجاد یا بارگیری ارائه
Presentation pres = new Presentation();
// به اسلاید اول دسترسی پیدا کنید
ISlide sld = pres.Slides[0];
// ستون ها را با عرض و ردیف ها را با ارتفاع تعریف کنید
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };
// شکل جدول را به اسلاید اضافه کنید
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);
// قالب حاشیه و متن را برای هر سلول تنظیم کنید
for (int row = 0; row < tbl.Rows.Count; row++)
{
for (int cell = 0; cell < tbl.Rows[row].Count; cell++)
{
// متن را به سلول اضافه کنید
tbl.Rows[row][cell].TextFrame.Text = "Cells_" + cell;
tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.SolidFillColor.Color = Color.Red;
tbl.Rows[row][cell].CellFormat.BorderTop.Width = 5;
tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.FillType = (FillType.Solid);
tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.SolidFillColor.Color= Color.Red;
tbl.Rows[row][cell].CellFormat.BorderBottom.Width =5;
tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.SolidFillColor.Color =Color.Red;
tbl.Rows[row][cell].CellFormat.BorderLeft.Width = 5;
tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.SolidFillColor.Color = Color.Red;
tbl.Rows[row][cell].CellFormat.BorderRight.Width = 5;
}
}
// PPTX را روی دیسک ذخیره کنید
pres.Save("table.pptx", SaveFormat.Pptx);
تصویر زیر جدولی را نشان می دهد که با استفاده از کد بالا ایجاد کرده ایم.
دسترسی به جدول در یک ارائه با استفاده از C#
همچنین می توانید به جداول موجود در ارائه های پاورپوینت دسترسی داشته باشید و در صورت نیاز آنها را دستکاری کنید. مراحل زیر برای دسترسی به جداول در یک ارائه ارائه شده است.
- ابتدا یک ارائه موجود را با استفاده از کلاس Presentation بارگذاری کنید.
- سپس، مرجع اسلاید مورد نظر را در یک شی ISlide دریافت کنید.
- یک نمونه از ITable ایجاد کنید و آن را با null مقداردهی کنید.
- تکرار در تمام IShape اشیاء در مجموعه ISlide.Shapes.
- اشکال نوع ITable را فیلتر کنید.
- شکل را در ITable تایپ کنید و در صورت نیاز آن را دستکاری کنید.
- در نهایت، ارائه را با استفاده از روش Presentation.Save(String, SaveFormat) ذخیره کنید.
نمونه کد زیر نحوه دسترسی به جداول در ارائه پاورپوینت با استفاده از سی شارپ را نشان می دهد.
// بارگذاری ارائه
using (Presentation pres = new Presentation("UpdateExistingTable.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[0, 1].TextFrame.Text = "New";
//PPTX را روی دیسک بنویسید
pres.Save("table1_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}
قالب بندی متن در جداول پاورپوینت با استفاده از سی شارپ
Aspose.Slides for .NET همچنین به شما اجازه می دهد تا قالب بندی جداول را به راحتی تنظیم کنید، همانطور که در مراحل زیر نشان داده شده است.
- ابتدا یک ارائه موجود را با استفاده از کلاس Presentation بارگذاری کنید.
- سپس، مرجع اسلاید مورد نظر را در یک شی ISlide دریافت کنید.
- مرجع جدول مورد نظر را از اسلاید در یک شی ITable بازیابی کنید.
- قالب بندی را با استفاده از کلاس های PortionFormat، ParagraphFormat و TextFrameFormat تنظیم کنید.
- با استفاده از متدهای ITable.setTextFormat() قالب بندی را به جدول اختصاص دهید.
- در نهایت، ارائه را با استفاده از روش Presentation.Save(String, SaveFormat) ذخیره کنید.
نمونه کد زیر نحوه تنظیم قالب بندی جدول در پاورپوینت با استفاده از سی شارپ را نشان می دهد.
// ایجاد یا بارگیری ارائه
Presentation presentation = new Presentation();
// دریافت مرجع اسلاید
ISlide slide = presentation.Slides[0];
// دریافت مرجع جدول
ITable someTable = presentation.Slides[0].Shapes[0] as ITable; // let's say that the first shape on the first slide is a table
// تنظیم ارتفاع فونت سلول های جدول
PortionFormat portionFormat = new PortionFormat();
portionFormat.FontHeight = 25;
someTable.SetTextFormat(portionFormat);
// تراز متن سلول های جدول و حاشیه سمت راست را در یک تماس تنظیم کنید
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.Alignment = TextAlignment.Right;
paragraphFormat.MarginRight = 20;
someTable.SetTextFormat(paragraphFormat);
// نوع عمودی متن سلول های جدول را تنظیم کنید
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.TextVerticalType = TextVerticalType.Vertical;
someTable.SetTextFormat(textFrameFormat);
// ذخیره ارائه
presentation.Save("result.pptx", SaveFormat.Pptx);
قفل کردن نسبت ابعاد جداول در پاورپوینت با استفاده از سی شارپ
همچنین می توانید نسبت ابعاد جداول در ارائه های پاورپوینت را با استفاده از سی شارپ قفل کنید. مراحل زیر برای دستیابی به این مهم است.
- ابتدا یک ارائه موجود را با استفاده از کلاس Presentation بارگذاری کنید.
- سپس، مرجع اسلاید مورد نظر را در یک شی ISlide دریافت کنید.
- یک جدول ایجاد کنید یا مرجع یک جدول موجود را در یک شی ITable بازیابی کنید.
- ویژگی ITable.ShapeLock.AspectRatioLocked را روی !ITable.ShapeLock.AspectRatioLocked تنظیم کنید تا نسبت تصویر قفل شود.
- در نهایت، ارائه را با استفاده از روش Presentation.Save(String, SaveFormat) ذخیره کنید.
نمونه کد زیر نحوه قفل کردن نسبت ابعاد جدول را در ارائه های پاورپوینت نشان می دهد.
// بارگذاری ارائه
using (Presentation pres = new Presentation("presentation.pptx"))
{
// دریافت مرجع جدول
ITable table = (ITable)pres.Slides[0].Shapes[0];
Console.WriteLine($"قفل نسبت ابعاد set: {table.ShapeLock.AspectRatioLocked}");
// قفل نسبت ابعاد
table.ShapeLock.AspectRatioLocked = !table.ShapeLock.AspectRatioLocked; // invert
Console.WriteLine($"قفل نسبت ابعاد set: {table.ShapeLock.AspectRatioLocked}");
// ذخیره ارائه
pres.Save("pres-out.pptx", SaveFormat.Pptx);
}
یک مجوز API رایگان دریافت کنید
با دریافت یک [مجوز موقت] رایگان میتوانید از Aspose.Slides برای دات نت بدون محدودیت ارزیابی استفاده کنید.
نتیجه
در این مقاله نحوه ایجاد جداول در ارائه های پاورپوینت با استفاده از سی شارپ را یاد گرفتید. علاوه بر این، نحوه دسترسی و دستکاری جداول موجود در ارائه های پاورپوینت را به صورت برنامه ای مشاهده کرده اید. علاوه بر این، میتوانید برای کاوش بیشتر در مورد Aspose.Slides برای داتنت از مستندات دیدن کنید. همچنین، میتوانید سؤالات خود را از طریق [تالار گفتمان32 ما بپرسید.