Створення таблиць і керування ними в PowerPoint C#

Таблиці використовуються для впорядкування даних у вигляді рядків і стовпців. Крім того, вони організовують і узагальнюють дані, щоб їх можна було легко переглядати та аналізувати. MS PowerPoint також дозволяє вставляти таблиці в презентації. Відповідно, у цій статті описано, як створювати таблиці та керувати ними в презентаціях PowerPoint за допомогою C#.

C# API для створення та керування таблицями в PowerPoint

Для створення та обробки таблиць у презентаціях PowerPoint ми будемо використовувати Aspose.Slides for .NET. API дозволяє створювати, маніпулювати та конвертувати документи PowerPoint і OpenOffice. Ви можете завантажити DLL API та додати посилання на нього у свій проект. Крім того, ви можете встановити його за допомогою NuGet.

PM> Install-Package Aspose.Slides.NET

Створення таблиці в презентаціях PowerPoint за допомогою C#

Створення таблиці за допомогою Aspose.Slides for .NET – це просто. Наступні кроки показують, як створити таблицю в презентації PowerPoint за допомогою C#.

  • Спочатку створіть нову презентацію або завантажте наявну за допомогою класу Presentation.
  • Потім отримайте посилання на потрібний слайд в об’єкт ISlide.
  • Визначте ширину та висоту стовпців і рядків відповідно в масивах double[].
  • Вставте нову таблицю в презентацію за допомогою методу ISlide.Shapes.AddTable().
  • Отримати посилання на щойно створену таблицю в об’єкті ITable.
  • Створіть цикл для перебору рядків таблиці.
  • Створіть вкладений цикл для ітерації клітинок таблиці та в кожній ітерації виконайте наведені нижче операції.
    • Встановіть текст комірки за допомогою властивості ITable.Rows[rowIndex][cellIndex].TextFrame.Text.
    • Отримайте посилання на форматування комірки в об’єкт ICellFormat і за потреби встановіть стиль рамки комірки.
  • Нарешті, збережіть презентацію за допомогою методу Presentation.Save(String, SaveFormat).

У наведеному нижче прикладі коду показано, як створити таблицю в презентації PowerPoint.

// Створити або завантажити презентацію
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);

На наступному знімку екрана показано таблицю, яку ми створили за допомогою наведеного вище коду.

Створення таблиці в PowerPoint C#

Доступ до таблиці в презентації за допомогою C#

Ви також можете отримати доступ до таблиць у наявних презентаціях PowerPoint і маніпулювати ними за потреби. Нижче наведено кроки для доступу до таблиць у презентації.

  • Спочатку завантажте наявну презентацію за допомогою класу Presentation.
  • Потім отримайте посилання на потрібний слайд в об’єкт ISlide.
  • Створіть екземпляр ITable та ініціалізуйте його значенням null.
  • Перебір усіх об’єктів IShape у колекції ISlide.Shapes.
  • Відфільтруйте фігури типу ITable.
  • Введіть cast фігуру в ITable і маніпулюйте нею відповідно до потреб.
  • Нарешті, збережіть презентацію за допомогою методу Presentation.Save(String, SaveFormat).

У наведеному нижче прикладі коду показано, як отримати доступ до таблиць у презентації PowerPoint за допомогою C#.

// Завантажити презентацію
using (Presentation pres = new Presentation("UpdateExistingTable.pptx"))
{
    // Доступ до першого слайда
    ISlide sld = pres.Slides[0];

    // Ініціалізувати нульовий TableEx
    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);
}

Форматування тексту в таблицях PowerPoint за допомогою C#

Aspose.Slides for .NET також дозволяє досить легко налаштувати форматування таблиць, як показано в наведених нижче кроках.

  • Спочатку завантажте наявну презентацію за допомогою класу Presentation.
  • Потім отримайте посилання на потрібний слайд в об’єкт ISlide.
  • Отримайте посилання на потрібну таблицю зі слайда в об’єкт ITable.
  • Налаштуйте форматування за допомогою класів PortionFormat, ParagraphFormat і TextFrameFormat.
  • Призначте форматування таблиці за допомогою методів ITable.setTextFormat().
  • Нарешті, збережіть презентацію за допомогою методу Presentation.Save(String, SaveFormat).

У наведеному нижче прикладі коду показано, як налаштувати форматування таблиці в PowerPoint за допомогою C#.

// Створити або завантажити презентацію
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);

Блокування співвідношення сторін таблиць у PowerPoint за допомогою C#

Ви також можете заблокувати співвідношення сторін таблиць у презентаціях PowerPoint за допомогою C#. Нижче наведено кроки для досягнення цього.

  • Спочатку завантажте наявну презентацію за допомогою класу Presentation.
  • Потім отримайте посилання на потрібний слайд в об’єкт ISlide.
  • Створіть таблицю або отримайте посилання на існуючу таблицю в об’єкт ITable.
  • Установіть для властивості ITable.ShapeLock.AspectRatioLocked значення !ITable.ShapeLock.AspectRatioLocked, щоб зафіксувати співвідношення сторін.
  • Нарешті, збережіть презентацію за допомогою методу Presentation.Save(String, SaveFormat).

У наведеному нижче прикладі коду показано, як зафіксувати співвідношення сторін таблиці в презентаціях PowerPoint.

// Завантажити презентацію
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 for .NET без оціночних обмежень, отримавши безкоштовну тимчасову ліцензію.

Висновок

У цій статті ви дізналися, як створювати таблиці в презентаціях PowerPoint за допомогою C#. Більше того, ви бачили, як програмно отримати доступ до існуючих таблиць у презентаціях PowerPoint і керувати ними. Крім того, ви можете відвідати документацію, щоб дізнатися більше про Aspose.Slides for .NET. Ви також можете поставити свої запитання через наш форум.

Дивись також