Criar e manipular tabelas no PowerPoint Java

As tabelas são usadas para organizar bem os dados na forma de linhas e colunas. Além disso, eles resumem os dados a serem visualizados e analisados facilmente. O MS PowerPoint também permite que os apresentadores criem tabelas nas apresentações. Assim, neste artigo, você aprenderá a criar e manipular tabelas em apresentações do PowerPoint usando Java.

API Java para criar e manipular tabelas no PowerPoint

Para criar e manipular tabelas em apresentações do PowerPoint, usaremos Aspose.Slides for Java. A API foi projetada para criar, manipular e converter apresentações do PowerPoint e do OpenOffice. Você pode baixar o JAR da API ou instalá-lo usando as seguintes configurações do 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>

Criar uma tabela na apresentação do PowerPoint usando Java

Criar uma tabela usando Aspose.Slides for Java é tão fácil quanto uma torta. As etapas a seguir demonstram como criar uma tabela em uma apresentação do PowerPoint do zero usando Java.

O exemplo de código a seguir mostra como criar uma tabela em uma apresentação do PowerPoint.

// Criar ou carregar apresentação
Presentation pres = new Presentation();
try {
	// Acesse o primeiro slide
	ISlide sld = pres.getSlides().get_Item(0);

	// Definir colunas com larguras e linhas com alturas
	double[] dblCols = { 50, 50, 50 };
	double[] dblRows = { 50, 30, 30, 30, 30 };

	// Adicionar forma de tabela ao slide
	ITable tbl = sld.getShapes().addTable(100, 50, dblCols, dblRows);

	// Definir texto e formato de borda para cada célula
	for (int row = 0; row < tbl.getRows().size(); row++) {
		for (int cell = 0; cell < tbl.getRows().get_Item(row).size(); cell++) {

			// Definir texto
			tbl.getRows().get_Item(row).get_Item(cell).getTextFrame().setText("Cell_" + cell);
			
			// Definir borda
			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);
		}
	}
	
	// Salvar PPTX em disco
	pres.save("table.pptx", SaveFormat.Pptx);
} finally {
	if (pres != null)
		pres.dispose();
}

A captura de tela a seguir mostra a tabela que criamos usando o código acima.

Criar tabela no PowerPoint Java

Acessar uma tabela em uma apresentação usando Java

Você também pode acessar as tabelas nas apresentações existentes do PowerPoint e manipulá-las conforme necessário. A seguir estão as etapas para acessar as tabelas em uma apresentação.

  • Primeiro, carregue uma apresentação existente usando a classe Apresentação.
  • Em seguida, obtenha a referência do slide desejado em um objeto ISlide.
  • Crie uma instância de ITable e inicialize-a com null.
  • Itere através de todos os objetos IShape na coleção ISlide.getShapes().
  • Filtre as formas do tipo ITable.
  • Digite cast a forma em ITable e manipule-a conforme necessário.
  • Finalmente, salve a apresentação usando o método Presentation.save(String, SaveFormat).

O exemplo de código a seguir mostra como acessar tabelas em uma apresentação do PowerPoint usando Java.

// Criar ou carregar apresentação
Presentation pres = new Presentation("UpdateExistingTable.pptx");
try {
    // Acesse o primeiro slide
    ISlide sld = pres.getSlides().get_Item(0);

    // Inicialize o ITable
    ITable tbl = null;

    // Iterar pelas formas e obter uma referência à tabela encontrada
    for (IShape shp : sld.getShapes()) 
    {
        if (shp instanceof ITable) 
        {
            tbl = (ITable) shp;
            // Defina o texto da primeira coluna da segunda linha
            tbl.get_Item(0, 1).getTextFrame().setText("New");
        }
    }
    
    // Gravar o PPTX no disco
    pres.save("table1_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Formatar texto em tabelas do PowerPoint usando Java

O Aspose.Slides for Java também permite definir a formatação das tabelas com bastante facilidade, conforme demonstrado nas etapas abaixo.

O exemplo de código a seguir mostra como definir a formatação da tabela no PowerPoint usando Java.

// Carregar apresentação
Presentation pres = new Presentation("simpletable.pptx");
try {
    // Obter referência da tabela
    ITable someTable = (ITable) pres.getSlides().get_Item(0).getShapes().get_Item(0);
    
    // Definir a altura da fonte das células da tabela
    PortionFormat portionFormat = new PortionFormat();
    portionFormat.setFontHeight(25);
    someTable.setTextFormat(portionFormat);
    
    // Defina o alinhamento do texto das células da tabela e a margem direita em uma chamada
    ParagraphFormat paragraphFormat = new ParagraphFormat();
    paragraphFormat.setAlignment(TextAlignment.Right);
    paragraphFormat.setMarginRight(20);
    someTable.setTextFormat(paragraphFormat);
    
    // Definir o tipo vertical de texto das células da tabela
    TextFrameFormat textFrameFormat = new TextFrameFormat();
    textFrameFormat.setTextVerticalType(TextVerticalType.Vertical);
    someTable.setTextFormat(textFrameFormat);
    
    // Salvar apresentação
    pres.save("result.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Bloquear proporção de tabelas no PowerPoint usando Java

Você também pode bloquear a proporção das tabelas em apresentações do PowerPoint usando Java. A seguir estão os passos para conseguir isso.

  • Primeiro, carregue uma apresentação existente usando a classe Apresentação.
  • Obtenha a referência do slide desejado em um objeto ISlide.
  • Crie uma tabela ou recupere a referência da tabela existente em um objeto ITable.
  • Bloqueie a proporção usando o método ITable.getGraphicalObjectLock().setAspectRatioLocked(!ITable.getGraphicalObjectLock().getAspectRatioLocked()).
  • Finalmente, salve a apresentação usando o método Presentation.save(String, SaveFormat).

O exemplo de código a seguir mostra como bloquear a proporção da tabela em apresentações do PowerPoint.

// Carregar apresentação
Presentation pres = new Presentation("pres.pptx");
try {
    // Obter referência da tabela
    ITable table = (ITable)pres.getSlides().get_Item(0).getShapes().get_Item(0);
    System.out.println("Bloquear proporção set: " + table.getGraphicalObjectLock().getAspectRatioLocked());

    // Bloquear proporção
    table.getGraphicalObjectLock().setAspectRatioLocked(!table.getGraphicalObjectLock().getAspectRatioLocked()); // invert
    System.out.println("Bloquear proporção set: " + table.getGraphicalObjectLock().getAspectRatioLocked());

    // Salvar apresentação
    pres.save("pres-out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Obtenha uma licença de API gratuita

Você pode usar o Aspose.Slides for Java sem limitações de avaliação obtendo uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como criar tabelas em apresentações do PowerPoint usando Java. Além disso, você viu como acessar as tabelas e definir sua formatação e proporção de forma programática. Além disso, você pode visitar a documentação para explorar mais sobre o Aspose.Slides for Java. Além disso, você pode fazer suas perguntas através do nosso fórum.

Veja também