Crea e manipola tabelle in PowerPoint Java

Le tabelle vengono utilizzate per organizzare bene i dati sotto forma di righe e colonne. Inoltre, riassumono i dati da visualizzare e analizzare facilmente. MS PowerPoint consente inoltre ai relatori di creare tabelle nelle presentazioni. Di conseguenza, in questo articolo imparerai come creare e manipolare tabelle nelle presentazioni PowerPoint utilizzando Java.

API Java per creare e manipolare tabelle in PowerPoint

Per creare e manipolare tabelle nelle presentazioni PowerPoint, utilizzeremo Aspose.Slides for Java. L’API è progettata per creare, manipolare e convertire presentazioni PowerPoint e OpenOffice. Puoi scaricare il JAR dell’API o installarlo utilizzando le seguenti configurazioni 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>

Crea una tabella nella presentazione di PowerPoint usando Java

Creare una tabella utilizzando Aspose.Slides per Java è facile come una torta. I passaggi seguenti illustrano come creare una tabella in una presentazione PowerPoint da zero utilizzando Java.

Nell’esempio di codice seguente viene illustrato come creare una tabella in una presentazione di PowerPoint.

// Crea o carica una presentazione
Presentation pres = new Presentation();
try {
	// Accedi alla prima diapositiva
	ISlide sld = pres.getSlides().get_Item(0);

	// Definisci colonne con larghezze e righe con altezze
	double[] dblCols = { 50, 50, 50 };
	double[] dblRows = { 50, 30, 30, 30, 30 };

	// Aggiungi la forma del tavolo alla diapositiva
	ITable tbl = sld.getShapes().addTable(100, 50, dblCols, dblRows);

	// Imposta il formato del testo e del bordo per ogni cella
	for (int row = 0; row < tbl.getRows().size(); row++) {
		for (int cell = 0; cell < tbl.getRows().get_Item(row).size(); cell++) {

			// Imposta testo
			tbl.getRows().get_Item(row).get_Item(cell).getTextFrame().setText("Cell_" + cell);
			
			// Imposta il confine
			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);
		}
	}
	
	// Salva PPTX su disco
	pres.save("table.pptx", SaveFormat.Pptx);
} finally {
	if (pres != null)
		pres.dispose();
}

Lo screenshot seguente mostra la tabella che abbiamo creato utilizzando il codice sopra.

Crea tabella in PowerPoint Java

Accedi a una tabella in una presentazione utilizzando Java

Puoi anche accedere alle tabelle nelle presentazioni PowerPoint esistenti e manipolarle come richiesto. Di seguito sono riportati i passaggi per accedere alle tabelle in una presentazione.

  • Per prima cosa, carica una presentazione esistente usando la classe Presentazione.
  • Quindi, ottieni il riferimento della diapositiva desiderata in un oggetto ISlide.
  • Crea un’istanza di ITable e inizializzala con null.
  • Scorri tutti gli oggetti IShape nella raccolta ISlide.getShapes().
  • Filtra le forme di tipo ITable.
  • Digita cast la forma in ITable e manipolala come richiesto.
  • Infine, salva la presentazione usando il metodo Presentation.save(String, SaveFormat).

L’esempio di codice seguente mostra come accedere alle tabelle in una presentazione di PowerPoint tramite Java.

// Crea o carica una presentazione
Presentation pres = new Presentation("UpdateExistingTable.pptx");
try {
    // Accedi alla prima diapositiva
    ISlide sld = pres.getSlides().get_Item(0);

    // Inizializza ITable
    ITable tbl = null;

    // Scorri le forme e ottieni un riferimento alla tabella trovata
    for (IShape shp : sld.getShapes()) 
    {
        if (shp instanceof ITable) 
        {
            tbl = (ITable) shp;
            // Imposta il testo della prima colonna della seconda riga
            tbl.get_Item(0, 1).getTextFrame().setText("New");
        }
    }
    
    // Scrivi il PPTX su disco
    pres.save("table1_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Formatta il testo nelle tabelle di PowerPoint usando Java

Aspose.Slides per Java consente anche di impostare la formattazione delle tabelle abbastanza facilmente, come dimostrato nei passaggi seguenti.

  • Per prima cosa, carica una presentazione esistente usando la classe Presentazione.
  • Quindi, ottieni il riferimento della diapositiva desiderata in un oggetto ISlide.
  • Recupera il riferimento della tabella desiderata dalla diapositiva in un’istanza della classe ITable.
  • Imposta la formattazione utilizzando le classi PortionFormat, ParagraphFormat e TextFrameFormat.
  • Assegna la formattazione alla tabella utilizzando i metodi ITable.setTextFormat().
  • Infine, salva la presentazione usando il metodo Presentation.save(String, SaveFormat).

Nell’esempio di codice seguente viene illustrato come impostare la formattazione della tabella in PowerPoint utilizzando Java.

// Carica presentazione
Presentation pres = new Presentation("simpletable.pptx");
try {
    // Ottieni il riferimento della tabella
    ITable someTable = (ITable) pres.getSlides().get_Item(0).getShapes().get_Item(0);
    
    // Imposta l'altezza del carattere delle celle della tabella
    PortionFormat portionFormat = new PortionFormat();
    portionFormat.setFontHeight(25);
    someTable.setTextFormat(portionFormat);
    
    // Imposta l'allineamento del testo e il margine destro delle celle della tabella in una chiamata
    ParagraphFormat paragraphFormat = new ParagraphFormat();
    paragraphFormat.setAlignment(TextAlignment.Right);
    paragraphFormat.setMarginRight(20);
    someTable.setTextFormat(paragraphFormat);
    
    // Imposta il tipo verticale del testo delle celle della tabella
    TextFrameFormat textFrameFormat = new TextFrameFormat();
    textFrameFormat.setTextVerticalType(TextVerticalType.Vertical);
    someTable.setTextFormat(textFrameFormat);
    
    // Salva presentazione
    pres.save("result.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Blocca le proporzioni delle tabelle in PowerPoint utilizzando Java

Puoi anche bloccare le proporzioni delle tabelle nelle presentazioni PowerPoint utilizzando Java. Di seguito sono riportati i passaggi per raggiungere questo obiettivo.

  • Per prima cosa, carica una presentazione esistente usando la classe Presentazione.
  • Ottieni il riferimento della diapositiva desiderata in un oggetto ISlide.
  • Crea una tabella o recupera il riferimento di una tabella esistente in un oggetto ITable.
  • Blocca le proporzioni utilizzando il metodo ITable.getGraphicalObjectLock().setAspectRatioLocked(!ITable.getGraphicalObjectLock().getAspectRatioLocked()).
  • Infine, salva la presentazione usando il metodo Presentation.save(String, SaveFormat).

Nell’esempio di codice seguente viene illustrato come bloccare le proporzioni della tabella nelle presentazioni di PowerPoint.

// Carica presentazione
Presentation pres = new Presentation("pres.pptx");
try {
    // Ottieni il riferimento della tabella
    ITable table = (ITable)pres.getSlides().get_Item(0).getShapes().get_Item(0);
    System.out.println("Blocca le proporzioni set: " + table.getGraphicalObjectLock().getAspectRatioLocked());

    // Blocca le proporzioni
    table.getGraphicalObjectLock().setAspectRatioLocked(!table.getGraphicalObjectLock().getAspectRatioLocked()); // invert
    System.out.println("Blocca le proporzioni set: " + table.getGraphicalObjectLock().getAspectRatioLocked());

    // Salva presentazione
    pres.save("pres-out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Ottieni una licenza API gratuita

Puoi utilizzare Aspose.Slides per Java senza limitazioni di valutazione ottenendo una licenza temporanea.

Conclusione

In questo articolo hai imparato come creare tabelle nelle presentazioni PowerPoint usando Java. Inoltre, hai visto come accedere alle tabelle e impostarne la formattazione e le proporzioni in modo programmatico. Inoltre, puoi visitare la documentazione per saperne di più su Aspose.Slides per Java. Inoltre, puoi porre le tue domande tramite il nostro forum.

Guarda anche