Las tablas se utilizan comúnmente para organizar los datos en forma de filas y columnas. Hacen que sea bastante más fácil ver, comprender y analizar los datos. En varios casos, debe insertar tablas en sus presentaciones de PowerPoint. Para lograr eso mediante programación, este artículo cubre cómo crear tablas en PowerPoint PPT o PPTX usando Python. Además, aprenderá a acceder, modificar y dar formato a las tablas de PowerPoint existentes.
- Biblioteca de Python para crear y manipular tablas de PowerPoint
- Crear una tabla en presentaciones de PowerPoint
- Editar una tabla en una presentación
- Formatear texto en tablas de PowerPoint
- Bloquear la relación de aspecto de las tablas
Biblioteca de Python para crear y manipular tablas de PowerPoint
Aspose.Slides for Python proporciona un montón de funciones para crear, manipular y convertir documentos de PowerPoint y OpenOffice. Usaremos esta biblioteca para crear, editar y manipular tablas en nuestras presentaciones de PowerPoint. Puede instalar la biblioteca desde PyPI usando el siguiente comando.
> pip install aspose.slides
Crear una tabla en PowerPoint PPT usando Python
Los siguientes son los pasos para crear una tabla en un PowerPoint PPT/PPTX en Python.
- Primero, use la clase Presentation para cargar o crear una presentación PPT/PPTX.
- Luego, obtenga la referencia de la diapositiva deseada donde desea agregar la tabla.
- Después de eso, cree dos matrices para definir el ancho y el alto de las columnas y las filas, respectivamente.
- Inserte una nueva tabla en la diapositiva usando el método ISlide.shapes.add\table() y obtenga su referencia.
- Inicie un ciclo para iterar a través de las filas de la tabla.
- Inicie un ciclo anidado para iterar a través de las celdas de la tabla y realizar las siguientes operaciones en cada iteración.
- Establezca el texto de la celda usando la propiedad Table.rows[row][cell].text\frame.text.
- Establezca el estilo de borde de la celda, si es necesario.
- Finalmente, guarde la presentación usando el método Presentation.save(string, SaveFormat).
El siguiente ejemplo de código muestra cómo crear una tabla en una presentación de 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)
La siguiente captura de pantalla muestra la tabla que hemos creado usando el código anterior.
Editar una tabla en un PPT de PowerPoint usando Python
También puede modificar una tabla existente accediendo a ella desde la diapositiva de la presentación. Así es como puede acceder a una tabla de PowerPoint y editar su contenido o apariencia en Python.
- Primero, cargue un archivo PowerPoint PPT/PPTX existente usando la clase Presentation.
- Luego, obtenga la referencia de la diapositiva deseada en un objeto.
- Cree un objeto para la tabla e inicialícelo con Ninguno.
- Iterar a través de todas las formas en la diapositiva usando la colección ISlide.shapes.
- Filtra las formas de tipo Tabla.
- Manipule la tabla según sea necesario.
- Finalmente, guarde la presentación usando el método Presentation.save(string, SaveFormat).
El siguiente ejemplo de código muestra cómo editar tablas en un PowerPoint PPT usando 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)
Formatear texto en tablas de PowerPoint usando Python
Aspose.Slides for Python también le permite aplicar el formato al texto dentro de las tablas. Los siguientes pasos muestran cómo puede lograr esto.
- Primero, cargue una presentación existente usando la clase Presentation.
- Luego, obtenga la referencia de la diapositiva deseada en un objeto.
- Obtenga la referencia de la tabla deseada de la diapositiva en un objeto.
- Establezca el formato con los objetos PortionFormat, ParagraphFormat y TextFrameFormat.
- Asigne formato a la tabla usando el método Table.set_text\format().
- Finalmente, guarde la presentación usando el método Presentation.save(string, SaveFormat).
El siguiente ejemplo de código muestra cómo configurar el formato del texto dentro de una tabla en PowerPoint usando 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)
Bloquear la relación de aspecto de las tablas de PowerPoint en Python
También puede bloquear la relación de aspecto de las tablas en las presentaciones de PowerPoint usando Python, como se demuestra en los siguientes pasos.
- Primero, cargue una presentación existente usando la clase Presentation.
- Luego, obtenga la referencia de la diapositiva deseada en un objeto.
- Cree una tabla o recupere la referencia de una tabla existente en un objeto.
- Bloquee la relación de aspecto usando la propiedad Table.shape\lock.aspect\ratio\locked.
- Finalmente, guarde la presentación usando el método Presentation.save(string, SaveFormat).
El siguiente ejemplo de código muestra cómo bloquear la relación de aspecto de la tabla en 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)
Obtenga una licencia gratis
Puede usar Aspose.Slides for Python sin limitaciones de evaluación al obtener una licencia temporal gratuita.
Conclusión
Las tablas son una parte integral de los documentos, que se utilizan para organizar los datos. En este artículo, ha aprendido a crear tablas en un PowerPoint PPT/PPTX en Python. Además, ha visto cómo acceder y manipular tablas existentes en presentaciones de PowerPoint mediante programación. Además, también puede visitar la documentación para explorar más sobre Aspose.Slides for Python. Además, puede hacer sus preguntas a través de nuestro foro.
Ver también
- Crear archivos de PowerPoint en Python
- Convertir PPTX a PDF en Python
- Convertir PPT a PNG en Python
- Agregar marca de agua en PowerPoint PPT en Python
- Aplicar efectos 3D en PowerPoint PPT usando Python
Información: Con el convertidor Aspose JPG a PPT o PNG a PPT, puede generar presentaciones de PowerPoint a partir de imágenes simples.