Le tabelle vengono utilizzate per disporre i dati sotto forma di righe e colonne. Inoltre, organizzano e riassumono i dati in modo che possano essere visualizzati e analizzati facilmente. MS PowerPoint consente anche di inserire tabelle nelle presentazioni. Di conseguenza, questo articolo illustra come creare e modificare le tabelle nelle presentazioni di PowerPoint usando C#.
- API C# per creare e manipolare tabelle in PowerPoint
- Crea una tabella nelle presentazioni PowerPoint
- Accedi a una tabella in una presentazione
- Formatta il testo nelle tabelle di PowerPoint
- Blocca le proporzioni delle tabelle
API C# per creare e manipolare tabelle in PowerPoint
Per creare e manipolare tabelle nelle presentazioni PowerPoint, utilizzeremo Aspose.Slides for .NET. L’API ti consente di creare, manipolare e convertire documenti PowerPoint e OpenOffice. Puoi scaricare la DLL dell’API e aggiungere un riferimento ad essa nel tuo progetto. Inoltre, puoi installarlo usando NuGet.
PM> Install-Package Aspose.Slides.NET
Crea una tabella nelle presentazioni di PowerPoint usando C#
Creare una tabella usando Aspose.Slides per .NET è un gioco da ragazzi. I passaggi seguenti illustrano come creare una tabella in una presentazione di PowerPoint usando C#.
- Per prima cosa, crea una nuova presentazione o caricane una esistente usando la classe Presentazione.
- Quindi, ottieni il riferimento della diapositiva desiderata in un oggetto ISlide.
- Definire rispettivamente la larghezza e l’altezza delle colonne e delle righe negli array double[].
- Inserisci una nuova tabella nella presentazione usando il metodo ISlide.Shapes.AddTable().
- Ottieni il riferimento della tabella appena creata in un oggetto ITable.
- Crea un ciclo per scorrere le righe della tabella.
- Crea un ciclo nidificato per scorrere le celle della tabella e in ogni iterazione, esegui le seguenti operazioni.
- Imposta il testo della cella usando la proprietà ITable.Rows[rowIndex][cellIndex].TextFrame.Text.
- Ottieni il riferimento della formattazione della cella in un oggetto ICellFormat e imposta lo stile del bordo della cella, se necessario.
- Infine, salva la presentazione usando il metodo Presentation.Save(String, SaveFormat).
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();
// Accedi alla prima diapositiva
ISlide sld = pres.Slides[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.Shapes.AddTable(100, 50, dblCols, dblRows);
// Imposta il formato del bordo e il testo per ogni cella
for (int row = 0; row < tbl.Rows.Count; row++)
{
for (int cell = 0; cell < tbl.Rows[row].Count; cell++)
{
// Aggiungi testo alla cella
tbl.Rows[row][cell].TextFrame.Text = "Cells_" + cell;
tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.SolidFillColor.Color = Color.Red;
tbl.Rows[row][cell].CellFormat.BorderTop.Width = 5;
tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.FillType = (FillType.Solid);
tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.SolidFillColor.Color= Color.Red;
tbl.Rows[row][cell].CellFormat.BorderBottom.Width =5;
tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.SolidFillColor.Color =Color.Red;
tbl.Rows[row][cell].CellFormat.BorderLeft.Width = 5;
tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.SolidFillColor.Color = Color.Red;
tbl.Rows[row][cell].CellFormat.BorderRight.Width = 5;
}
}
// Salva PPTX su disco
pres.Save("table.pptx", SaveFormat.Pptx);
Lo screenshot seguente mostra la tabella che abbiamo creato utilizzando il codice sopra.
Accedi a una tabella in una presentazione usando C#
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.
- Innanzitutto, 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.Shapes.
- 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).
Nell’esempio di codice seguente viene illustrato come accedere alle tabelle in una presentazione di PowerPoint usando C#.
// Carica presentazione
using (Presentation pres = new Presentation("UpdateExistingTable.pptx"))
{
// Accedi alla prima diapositiva
ISlide sld = pres.Slides[0];
// Inizializza TableEx null
ITable tbl = null;
// Scorri le forme e imposta un riferimento alla tabella trovata
foreach (IShape shp in sld.Shapes)
if (shp is ITable)
tbl = (ITable)shp;
// Imposta il testo della prima colonna della seconda riga
tbl[0, 1].TextFrame.Text = "New";
//Scrivi il PPTX su disco
pres.Save("table1_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}
Formatta il testo nelle tabelle di PowerPoint usando C#
Aspose.Slides per .NET consente inoltre di impostare la formattazione delle tabelle abbastanza facilmente, come illustrato nei passaggi seguenti.
- Innanzitutto, 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 oggetto 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 usando C#.
// Crea o carica una presentazione
Presentation presentation = new Presentation();
// Ottieni il riferimento della diapositiva
ISlide slide = presentation.Slides[0];
// Ottieni il riferimento della tabella
ITable someTable = presentation.Slides[0].Shapes[0] as ITable; // let's say that the first shape on the first slide is a table
// Imposta l'altezza del carattere delle celle della tabella
PortionFormat portionFormat = new PortionFormat();
portionFormat.FontHeight = 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.Alignment = TextAlignment.Right;
paragraphFormat.MarginRight = 20;
someTable.SetTextFormat(paragraphFormat);
// Imposta il tipo verticale del testo delle celle della tabella
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.TextVerticalType = TextVerticalType.Vertical;
someTable.SetTextFormat(textFrameFormat);
// Salva presentazione
presentation.Save("result.pptx", SaveFormat.Pptx);
Blocca le proporzioni delle tabelle in PowerPoint usando C#
Puoi anche bloccare le proporzioni delle tabelle nelle presentazioni PowerPoint usando C#. Di seguito sono riportati i passaggi per raggiungere questo obiettivo.
- Per prima cosa, carica una presentazione esistente usando la classe Presentazione.
- Quindi, 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.
- Impostare la proprietà ITable.ShapeLock.AspectRatioLocked su !ITable.ShapeLock.AspectRatioLocked per bloccare le proporzioni.
- 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
using (Presentation pres = new Presentation("presentation.pptx"))
{
// Ottieni il riferimento della tabella
ITable table = (ITable)pres.Slides[0].Shapes[0];
Console.WriteLine($"Blocca le proporzioni set: {table.ShapeLock.AspectRatioLocked}");
// Blocca le proporzioni
table.ShapeLock.AspectRatioLocked = !table.ShapeLock.AspectRatioLocked; // invert
Console.WriteLine($"Blocca le proporzioni set: {table.ShapeLock.AspectRatioLocked}");
// Salva presentazione
pres.Save("pres-out.pptx", SaveFormat.Pptx);
}
Ottieni una licenza API gratuita
Puoi utilizzare Aspose.Slides per .NET senza limitazioni di valutazione ottenendo una licenza temporanea.
Conclusione
In questo articolo hai imparato come creare tabelle nelle presentazioni di PowerPoint usando C#. Inoltre, hai visto come accedere e manipolare le tabelle esistenti nelle presentazioni PowerPoint a livello di codice. Inoltre, puoi visitare la documentazione per saperne di più su Aspose.Slides per .NET. Inoltre, puoi porre le tue domande tramite il nostro forum.