Crear y manipular tablas en PowerPoint Java

Las tablas se utilizan para organizar bien los datos en forma de filas y columnas. Además, resumen los datos para ser vistos y analizados fácilmente. MS PowerPoint también permite a los presentadores crear tablas en las presentaciones. En consecuencia, en este artículo aprenderá a crear y manipular tablas en presentaciones de PowerPoint utilizando Java.

API de Java para crear y manipular tablas en PowerPoint

Para crear y manipular tablas en presentaciones de PowerPoint, usaremos Aspose.Slides for Java. La API está diseñada para crear, manipular y convertir presentaciones de PowerPoint y OpenOffice. Puede descargar el JAR de la API o instalarlo usando las siguientes configuraciones de Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>21.8</version>
    <classifier>jdk16</classifier>
</dependency>

Crear una tabla en una presentación de PowerPoint usando Java

Crear una tabla usando Aspose.Slides for Java es tan fácil como un pastel. Los siguientes pasos demuestran cómo crear una tabla en una presentación de PowerPoint desde cero usando Java.

El siguiente ejemplo de código muestra cómo crear una tabla en una presentación de PowerPoint.

// Crear o cargar presentación
Presentation pres = new Presentation();
try {
	// Acceder a la primera diapositiva
	ISlide sld = pres.getSlides().get_Item(0);

	// Definir columnas con anchos y filas con alturas
	double[] dblCols = { 50, 50, 50 };
	double[] dblRows = { 50, 30, 30, 30, 30 };

	// Agregar forma de tabla a la diapositiva
	ITable tbl = sld.getShapes().addTable(100, 50, dblCols, dblRows);

	// Establecer texto y formato de borde para cada celda
	for (int row = 0; row < tbl.getRows().size(); row++) {
		for (int cell = 0; cell < tbl.getRows().get_Item(row).size(); cell++) {

			// Establecer texto
			tbl.getRows().get_Item(row).get_Item(cell).getTextFrame().setText("Cell_" + cell);
			
			// Establecer borde
			ICellFormat cellFormat = tbl.getRows().get_Item(row).get_Item(cell).getCellFormat();
			cellFormat.getBorderTop().getFillFormat().setFillType(FillType.Solid);
			cellFormat.getBorderTop().getFillFormat().getSolidFillColor().setColor(Color.RED);
			cellFormat.getBorderTop().setWidth(5);

			cellFormat.getBorderBottom().getFillFormat().setFillType(FillType.Solid);
			cellFormat.getBorderBottom().getFillFormat().getSolidFillColor().setColor(Color.RED);
			cellFormat.getBorderBottom().setWidth(5);

			cellFormat.getBorderLeft().getFillFormat().setFillType(FillType.Solid);
			cellFormat.getBorderLeft().getFillFormat().getSolidFillColor().setColor(Color.RED);
			cellFormat.getBorderLeft().setWidth(5);

			cellFormat.getBorderRight().getFillFormat().setFillType(FillType.Solid);
			cellFormat.getBorderRight().getFillFormat().getSolidFillColor().setColor(Color.RED);
			cellFormat.getBorderRight().setWidth(5);
		}
	}
	
	// Guardar PPTX en disco
	pres.save("table.pptx", SaveFormat.Pptx);
} finally {
	if (pres != null)
		pres.dispose();
}

La siguiente captura de pantalla muestra la tabla que hemos creado usando el código anterior.

Crear tabla en PowerPoint Java

Acceder a una tabla en una presentación usando Java

También puede acceder a las tablas en las presentaciones de PowerPoint existentes y manipularlas según sea necesario. Los siguientes son los pasos para acceder a las tablas en una presentación.

  • Primero, cargue una presentación existente usando la clase Presentation.
  • Luego, obtenga la referencia de la diapositiva deseada en un objeto ISlide.
  • Cree una instancia de ITable e inicialícela con nulo.
  • Iterar a través de todos los objetos IShape en la colección ISlide.getShapes().
  • Filtra las formas de tipo ITable.
  • Escriba la forma en ITable y manipúlela 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 acceder a las tablas en una presentación de PowerPoint usando Java.

// Crear o cargar presentación
Presentation pres = new Presentation("UpdateExistingTable.pptx");
try {
    // Accede a la primera diapositiva
    ISlide sld = pres.getSlides().get_Item(0);

    // Inicializar ITable
    ITable tbl = null;

    // Iterar a través de las formas y obtener una referencia a la tabla encontrada
    for (IShape shp : sld.getShapes()) 
    {
        if (shp instanceof ITable) 
        {
            tbl = (ITable) shp;
            // Establecer el texto de la primera columna de la segunda fila
            tbl.get_Item(0, 1).getTextFrame().setText("New");
        }
    }
    
    // Escribir el PPTX en el disco
    pres.save("table1_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Formatear texto en tablas de PowerPoint usando Java

Aspose.Slides for Java también le permite establecer el formato de las tablas con bastante facilidad, como se demuestra en los pasos a continuación.

El siguiente ejemplo de código muestra cómo configurar el formato de la tabla en PowerPoint usando Java.

// Cargar presentación
Presentation pres = new Presentation("simpletable.pptx");
try {
    // Obtener referencia de la tabla
    ITable someTable = (ITable) pres.getSlides().get_Item(0).getShapes().get_Item(0);
    
    // Establecer la altura de fuente de las celdas de la tabla
    PortionFormat portionFormat = new PortionFormat();
    portionFormat.setFontHeight(25);
    someTable.setTextFormat(portionFormat);
    
    // Establecer la alineación del texto de las celdas de la tabla y el margen derecho en una sola llamada
    ParagraphFormat paragraphFormat = new ParagraphFormat();
    paragraphFormat.setAlignment(TextAlignment.Right);
    paragraphFormat.setMarginRight(20);
    someTable.setTextFormat(paragraphFormat);
    
    // Establecer el tipo vertical de texto de las celdas de la tabla
    TextFrameFormat textFrameFormat = new TextFrameFormat();
    textFrameFormat.setTextVerticalType(TextVerticalType.Vertical);
    someTable.setTextFormat(textFrameFormat);
    
    // Guardar presentación
    pres.save("result.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Bloquear la relación de aspecto de las tablas en PowerPoint usando Java

También puede bloquear la relación de aspecto de las tablas en las presentaciones de PowerPoint usando Java. Los siguientes son los pasos para lograrlo.

  • Primero, cargue una presentación existente usando la clase Presentation.
  • Obtenga la referencia de la diapositiva deseada en un objeto ISlide.
  • Cree una tabla o recupere la referencia de una tabla existente en un objeto ITable.
  • Bloquee la relación de aspecto con el método ITable.getGraphicalObjectLock().setAspectRatioLocked(!ITable.getGraphicalObjectLock().getAspectRatioLocked()).
  • 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 las presentaciones de PowerPoint.

// Cargar presentación
Presentation pres = new Presentation("pres.pptx");
try {
    // Obtener referencia de la tabla
    ITable table = (ITable)pres.getSlides().get_Item(0).getShapes().get_Item(0);
    System.out.println("Relación de aspecto de bloqueo set: " + table.getGraphicalObjectLock().getAspectRatioLocked());

    // Relación de aspecto de bloqueo
    table.getGraphicalObjectLock().setAspectRatioLocked(!table.getGraphicalObjectLock().getAspectRatioLocked()); // invert
    System.out.println("Relación de aspecto de bloqueo set: " + table.getGraphicalObjectLock().getAspectRatioLocked());

    // Guardar presentación
    pres.save("pres-out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Obtenga una licencia de API gratuita

Puede usar Aspose.Slides for Java sin limitaciones de evaluación al obtener una licencia temporal gratuita.

Conclusión

En este artículo, ha aprendido a crear tablas en presentaciones de PowerPoint utilizando Java. Además, ha visto cómo acceder a las tablas y establecer su formato y relación de aspecto mediante programación. Además, puede visitar la documentación para explorar más sobre Aspose.Slides for Java. Además, puede hacer sus preguntas a través de nuestro foro.

Ver también