Таблицы используются для организации данных в виде строк и столбцов. Более того, они организуют и обобщают данные, чтобы их можно было легко просматривать и анализировать. MS PowerPoint также позволяет вставлять таблицы в презентации. Соответственно, в этой статье рассказывается, как создавать таблицы в презентациях PowerPoint и управлять ими с помощью C#.
- C# API для создания и управления таблицами в PowerPoint
- Создание таблицы в презентациях PowerPoint
- Доступ к таблице в презентации
- Форматирование текста в таблицах PowerPoint
- Блокировка соотношения сторон таблиц
C# API для создания и управления таблицами в PowerPoint
Для создания таблиц и управления ими в презентациях PowerPoint мы будем использовать Aspose.Slides for .NET. API позволяет создавать, обрабатывать и преобразовывать документы PowerPoint и OpenOffice. Вы можете скачать библиотеку DLL API и добавить ссылку на нее в свой проект. Кроме того, вы можете установить его с помощью NuGet.
PM> Install-Package Aspose.Slides.NET
Создание таблицы в презентациях PowerPoint с помощью C#
Создать таблицу с помощью Aspose.Slides для .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);
На следующем снимке экрана показана таблица, которую мы создали с помощью приведенного выше кода.
Доступ к таблице в презентации с помощью C#
Вы также можете получить доступ к таблицам в существующих презентациях PowerPoint и управлять ими по мере необходимости. Ниже приведены шаги для доступа к таблицам в презентации.
- Сначала загрузите существующую презентацию, используя класс Presentation.
- Затем получите ссылку на нужный слайд в объект ISlide.
- Создайте экземпляр ITable и инициализируйте его нулевым значением.
- Перебрать все объекты IShape в коллекции ISlide.Shapes.
- Отфильтруйте фигуры типа ITable.
- Введите форму в 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 для .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 для .NET без ограничений по ознакомительной версии, получив бесплатную временную лицензию.
Вывод
В этой статье вы узнали, как создавать таблицы в презентациях PowerPoint с помощью C#. Кроме того, вы увидели, как программно получать доступ к существующим таблицам в презентациях PowerPoint и управлять ими. Кроме того, вы можете посетить документацию, чтобы узнать больше об Aspose.Slides для .NET. Также вы можете задать свои вопросы на нашем форуме.