Таблицы обычно используются для организации данных в виде строк и столбцов. Они значительно облегчают просмотр, понимание и анализ данных. В различных случаях вам необходимо вставлять таблицы в презентации PowerPoint. Чтобы сделать это программно, в этой статье рассказывается, как создавать таблицы в PowerPoint PPT или PPTX с помощью Python. Кроме того, вы узнаете, как получать доступ, изменять и форматировать существующие таблицы PowerPoint.
- Библиотека Python для создания таблиц PowerPoint и управления ими
- Создание таблицы в презентациях PowerPoint
- Редактировать таблицу в презентации
- Форматирование текста в таблицах PowerPoint
- Блокировка соотношения сторон таблиц
Библиотека Python для создания таблиц PowerPoint и управления ими
Aspose.Slides for Python предоставляет набор функций для создания, обработки и преобразования документов PowerPoint и OpenOffice. Мы будем использовать эту библиотеку для создания, редактирования и управления таблицами в наших презентациях PowerPoint. Вы можете установить библиотеку из PyPI с помощью следующей команды.
> pip install aspose.slides
Создайте таблицу в PowerPoint PPT с помощью Python
Ниже приведены шаги по созданию таблицы в PowerPoint PPT/PPTX на Python.
- Во-первых, используйте класс Presentation для загрузки или создания презентации PPT/PPTX.
- Затем получите ссылку на нужный слайд, на который вы хотите добавить таблицу.
- После этого создайте два массива для определения ширины и высоты столбцов и строк соответственно.
- Вставьте новую таблицу на слайд с помощью метода ISlide.shapes.addtable() и получите ссылку на нее.
- Запустите цикл для перебора строк таблицы.
- Запустите вложенный цикл для перебора ячеек таблицы и выполнения следующих операций на каждой итерации.
- Задайте текст ячейки с помощью свойства Table.rows[row][cell].textframe.text.
- При необходимости установите стиль границы ячейки.
- Наконец, сохраните презентацию с помощью метода Presentation.save(string, SaveFormat).
В следующем примере кода показано, как создать таблицу в презентации PowerPoint.
import aspose.slides as slides
import aspose.pydrawing as drawing
# Create a new presentation (to load an existing presentation, provide file's path in constructor)
with slides.Presentation() as pres:
# Access first slide
sld = pres.slides[0]
# Define columns with widths and rows with heights
dblCols = [50, 50, 50]
dblRows = [50, 30, 30, 30, 30]
# Add table shape to slide
tbl = sld.shapes.add_table(100, 50, dblCols, dblRows)
# Set border format for each cell
for row in range(len(tbl.rows)):
for cell in range(len(tbl.rows[row])):
# Add text
tbl.rows[row][cell].text_frame.text = "Cell_" + cell
# Set border
tbl.rows[row][cell].cell_format.border_top.fill_format.fill_type = slides.FillType.SOLID
tbl.rows[row][cell].cell_format.border_top.fill_format.solid_fill_color.color = drawing.Color.red
tbl.rows[row][cell].cell_format.border_top.width = 5
tbl.rows[row][cell].cell_format.border_bottom.fill_format.fill_type = slides.FillType.SOLID
tbl.rows[row][cell].cell_format.border_bottom.fill_format.solid_fill_color.color= drawing.Color.red
tbl.rows[row][cell].cell_format.border_bottom.width =5
tbl.rows[row][cell].cell_format.border_left.fill_format.fill_type = slides.FillType.SOLID
tbl.rows[row][cell].cell_format.border_left.fill_format.solid_fill_color.color =drawing.Color.red
tbl.rows[row][cell].cell_format.border_left.width = 5
tbl.rows[row][cell].cell_format.border_right.fill_format.fill_type = slides.FillType.SOLID
tbl.rows[row][cell].cell_format.border_right.fill_format.solid_fill_color.color = drawing.Color.red
tbl.rows[row][cell].cell_format.border_right.width = 5
# Merge cells 1 & 2 of row 1
tbl.merge_cells(tbl.rows[0][0], tbl.rows[1][1], False)
# Add text to the merged cell
tbl.rows[0][0].text_frame.text = "Merged Cells"
# Save PPTX to Disk
pres.save("table.pptx", slides.export.SaveFormat.PPTX)
На следующем снимке экрана показана таблица, которую мы создали с помощью приведенного выше кода.
Редактировать таблицу в PowerPoint PPT с помощью Python
Вы также можете изменить существующую таблицу, обратившись к ней со слайда презентации. Вот как вы можете получить доступ к таблице PowerPoint и изменить ее содержимое или внешний вид в Python.
- Сначала загрузите существующий файл PowerPoint PPT/PPTX, используя класс Presentation.
- Затем получите ссылку на нужный слайд в объект.
- Создайте объект для таблицы и инициализируйте его значением None.
- Переберите все фигуры на слайде, используя коллекцию ISlide.shapes.
- Отфильтруйте фигуры типа Таблица.
- Манипулируйте таблицей по мере необходимости.
- Наконец, сохраните презентацию с помощью метода Presentation.save(string, SaveFormat).
В следующем примере кода показано, как редактировать таблицы в PowerPoint PPT с помощью Python.
# Load presentation
with slides.Presentation("table.pptx") as pres:
# Access the first slide
sld = pres.slides[0]
# Initialize null TableEx
tbl = None
# Iterate through the shapes and set a reference to the table found
for shp in sld.shapes:
if type(shp) is slides.Table:
tbl = shp
# Set the text of the first column of second row
tbl.rows[0][1].text_frame.text = "New"
# Save the PPTX to Disk
pres.save("table1_out.pptx", slides.export.SaveFormat.PPTX)
Форматирование текста в таблицах PowerPoint с помощью Python
Aspose.Slides для Python также позволяет применять форматирование к тексту внутри таблиц. Следующие шаги показывают, как этого можно добиться.
- Сначала загрузите существующую презентацию, используя класс Presentation.
- Затем получите ссылку на нужный слайд в объект.
- Получить ссылку на нужную таблицу из слайда в объект.
- Установите форматирование с помощью объектов PortionFormat, ParagraphFormat и TextFrameFormat.
- Присвойте форматирование таблице с помощью метода Table.settextformat().
- Наконец, сохраните презентацию с помощью метода Presentation.save(string, SaveFormat).
В следующем примере кода показано, как задать форматирование текста внутри таблицы в PowerPoint с помощью Python.
import aspose.slides as slides
# Create a presentation
with slides.Presentation() as presentation:
# Add table
someTable = presentation.slides[0].shapes.add_table(100, 100, [100, 50, 30], [30, 50, 30])
# Set table cells' font height
portionFormat = slides.PortionFormat()
portionFormat.font_height = 25
someTable.set_text_format(portionFormat)
# Set table cells' text alignment and right margin in one call
paragraphFormat = slides.ParagraphFormat()
paragraphFormat.alignment = slides.TextAlignment.RIGHT
paragraphFormat.margin_right = 20
someTable.set_text_format(paragraphFormat)
# Set table cells' text vertical type
textFrameFormat = slides.TextFrameFormat()
textFrameFormat.text_vertical_type = slides.TextVerticalType.VERTICAL
someTable.set_text_format(textFrameFormat)
# Save presentation
presentation.save("table-formatting.pptx", slides.export.SaveFormat.PPTX)
Блокировка соотношения сторон таблиц PowerPoint в Python
Вы также можете заблокировать соотношение сторон таблиц в презентациях PowerPoint с помощью Python, как показано в следующих шагах.
- Сначала загрузите существующую презентацию, используя класс Presentation.
- Затем получите ссылку на нужный слайд в объект.
- Создайте таблицу или получите ссылку на существующую таблицу в объект.
- Заблокируйте соотношение сторон, используя свойство Table.shapelock.aspectratiolocked.
- Наконец, сохраните презентацию с помощью метода Presentation.save(string, SaveFormat).
В следующем примере кода показано, как заблокировать соотношение сторон таблицы в PowerPoint PPTX.
import aspose.slides as slides
# Create presentation
with slides.Presentation() as pres:
# Add table
table = pres.slides[0].shapes.add_table(100, 100, [100, 50, 30], [30, 50, 30])
print("Lock aspect ratio set: {0}".format(table.shape_lock.aspect_ratio_locked))
# Lock aspect ratio
table.shape_lock.aspect_ratio_locked = not table.shape_lock.aspect_ratio_locked
print("Lock aspect ratio set: {0}".format(table.shape_lock.aspect_ratio_locked))
# Save presentation
pres.save("pres-out.pptx", slides.export.SaveFormat.PPTX)
Получить бесплатную лицензию
Вы можете использовать Aspose.Slides for Python без ограничений по ознакомительной версии, получив бесплатную временную лицензию.
Вывод
Таблицы являются неотъемлемой частью документов, которые используются для организации данных. В этой статье вы узнали, как создавать таблицы в PowerPoint PPT/PPTX на Python. Кроме того, вы увидели, как программно получать доступ к существующим таблицам в презентациях PowerPoint и управлять ими. Кроме того, вы также можете посетить документацию, чтобы узнать больше об Aspose.Slides для Python. Также вы можете задать свои вопросы на нашем форуме.
Смотрите также
- Создание файлов PowerPoint в Python
- Преобразование PPTX в PDF на Python
- Конвертировать PPT в PNG в Python
- Добавить водяной знак в PowerPoint PPT на Python
- Применение 3D-эффектов в PowerPoint PPT с использованием Python
Информация: Используя конвертер Aspose JPG в PPT или PNG в PPT, вы можете создавать презентации PowerPoint из простых изображений.