Créer et manipuler des tableaux dans PowerPoint C#

Les tableaux sont utilisés pour organiser les données sous forme de lignes et de colonnes. De plus, ils organisent et résument les données afin qu’elles puissent être visualisées et analysées facilement. MS PowerPoint vous permet également d’insérer des tableaux dans les présentations. En conséquence, cet article explique comment créer et manipuler des tableaux dans des présentations PowerPoint à l’aide de C#.

API C# pour créer et manipuler des tableaux dans PowerPoint

Pour créer et manipuler des tableaux dans des présentations PowerPoint, nous utiliserons Aspose.Slides for .NET. L’API vous permet de créer, manipuler et convertir des documents PowerPoint et OpenOffice. Vous pouvez télécharger la DLL de l’API et y ajouter une référence dans votre projet. Vous pouvez également l’installer à l’aide de NuGet.

PM> Install-Package Aspose.Slides.NET

Créer un tableau dans des présentations PowerPoint à l’aide de C#

Créer un tableau à l’aide d’Aspose.Slides for .NET est un jeu d’enfant. Les étapes suivantes montrent comment créer un tableau dans une présentation PowerPoint à l’aide de C#.

  • Tout d’abord, créez une nouvelle présentation ou chargez-en une existante à l’aide de la classe Presentation.
  • Ensuite, récupérez la référence de la diapositive souhaitée dans un objet ISlide.
  • Définissez la largeur et la hauteur des colonnes et des lignes respectivement dans des tableaux double[].
  • Insérez un nouveau tableau dans la présentation à l’aide de la méthode ISlide.Shapes.AddTable().
  • Récupère la référence de la table nouvellement créée dans un objet ITable.
  • Créez une boucle pour parcourir les lignes de la table.
  • Créez une boucle imbriquée pour parcourir les cellules du tableau et, à chaque itération, effectuez les opérations suivantes.
  • Enfin, enregistrez la présentation à l’aide de la méthode Presentation.Save(String, SaveFormat).

L’exemple de code suivant montre comment créer un tableau dans une présentation PowerPoint.

// Créer ou charger une présentation
Presentation pres = new Presentation();

// Accéder à la première diapositive
ISlide sld = pres.Slides[0];

// Définir des colonnes avec des largeurs et des lignes avec des hauteurs
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };

// Ajouter une forme de tableau à la diapositive
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);

// Définir le format de bordure et le texte pour chaque cellule
for (int row = 0; row < tbl.Rows.Count; row++)
{
	for (int cell = 0; cell < tbl.Rows[row].Count; cell++)
	{  
		// Ajouter du texte à la cellule
		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;
	}
}

// Enregistrer PPTX sur le disque
pres.Save("table.pptx", SaveFormat.Pptx);

La capture d’écran suivante montre le tableau que nous avons créé à l’aide du code ci-dessus.

Créer un tableau dans PowerPoint C#

Accéder à une table dans une présentation à l’aide de C#

Vous pouvez également accéder aux tableaux des présentations PowerPoint existantes et les manipuler selon vos besoins. Voici les étapes pour accéder aux tables dans une présentation.

  • Tout d’abord, chargez une présentation existante à l’aide de la classe Presentation.
  • Ensuite, récupérez la référence de la diapositive souhaitée dans un objet ISlide.
  • Créez une instance de ITable et initialisez-la avec null.
  • Parcourez tous les objets IShape de la collection ISlide.Shapes.
  • Filtrez les formes de type ITable.
  • Tapez la forme dans ITable et manipulez-la selon vos besoins.
  • Enfin, enregistrez la présentation à l’aide de la méthode Presentation.Save(String, SaveFormat).

L’exemple de code suivant montre comment accéder aux tableaux dans une présentation PowerPoint à l’aide de C#.

// Charger la présentation
using (Presentation pres = new Presentation("UpdateExistingTable.pptx"))
{
    // Accéder à la première diapositive
    ISlide sld = pres.Slides[0];

    // Initialiser null TableEx
    ITable tbl = null;

    // Parcourez les formes et définissez une référence à la table trouvée
    foreach (IShape shp in sld.Shapes)
        if (shp is ITable)
            tbl = (ITable)shp;

    // Définir le texte de la première colonne de la deuxième ligne
    tbl[0, 1].TextFrame.Text = "New";

    //Écrire le PPTX sur le disque
    pres.Save("table1_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}

Mettre en forme le texte dans les tableaux PowerPoint à l’aide de C#

Aspose.Slides for .NET vous permet également de définir assez facilement la mise en forme des tableaux, comme illustré dans les étapes ci-dessous.

  • Tout d’abord, chargez une présentation existante à l’aide de la classe Presentation.
  • Ensuite, récupérez la référence de la diapositive souhaitée dans un objet ISlide.
  • Récupérez la référence de la table souhaitée à partir de la diapositive dans un objet ITable.
  • Définissez le formatage à l’aide des classes PortionFormat, ParagraphFormat et TextFrameFormat.
  • Attribuez une mise en forme au tableau à l’aide des méthodes ITable.setTextFormat().
  • Enfin, enregistrez la présentation à l’aide de la méthode Presentation.Save(String, SaveFormat).

L’exemple de code suivant montre comment définir la mise en forme du tableau dans PowerPoint à l’aide de C#.

// Créer ou charger une présentation
Presentation presentation = new Presentation();

// Obtenir la référence de la diapositive
ISlide slide = presentation.Slides[0];

// Obtenir la référence de la table
ITable someTable = presentation.Slides[0].Shapes[0] as ITable; // let's say that the first shape on the first slide is a table

// Définir la hauteur de police des cellules du tableau
PortionFormat portionFormat = new PortionFormat();
portionFormat.FontHeight = 25;
someTable.SetTextFormat(portionFormat);

// Définissez l'alignement du texte et la marge droite des cellules du tableau en un seul appel
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.Alignment = TextAlignment.Right;
paragraphFormat.MarginRight = 20;
someTable.SetTextFormat(paragraphFormat);

// Définir le type vertical du texte des cellules du tableau
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.TextVerticalType = TextVerticalType.Vertical;
someTable.SetTextFormat(textFrameFormat);

// Enregistrer la présentation
presentation.Save("result.pptx", SaveFormat.Pptx);

Verrouiller le rapport d’aspect des tableaux dans PowerPoint à l’aide de C#

Vous pouvez également verrouiller les proportions des tableaux dans les présentations PowerPoint à l’aide de C#. Voici les étapes pour y parvenir.

  • Tout d’abord, chargez une présentation existante à l’aide de la classe Presentation.
  • Ensuite, récupérez la référence de la diapositive souhaitée dans un objet ISlide.
  • Créez une table ou récupérez la référence d’une table existante dans un objet ITable.
  • Définissez la propriété ITable.ShapeLock.AspectRatioLocked sur !ITable.ShapeLock.AspectRatioLocked pour verrouiller les proportions.
  • Enfin, enregistrez la présentation à l’aide de la méthode Presentation.Save(String, SaveFormat).

L’exemple de code suivant montre comment verrouiller les proportions du tableau dans les présentations PowerPoint.

// Charger la présentation
using (Presentation pres = new Presentation("presentation.pptx"))
{
    // Obtenir la référence de la table
    ITable table = (ITable)pres.Slides[0].Shapes[0];
    Console.WriteLine($"Verrouiller le format d'image set: {table.ShapeLock.AspectRatioLocked}");

    // Verrouiller le format d'image
    table.ShapeLock.AspectRatioLocked = !table.ShapeLock.AspectRatioLocked; // invert
    Console.WriteLine($"Verrouiller le format d'image set: {table.ShapeLock.AspectRatioLocked}");

    // Enregistrer la présentation
    pres.Save("pres-out.pptx", SaveFormat.Pptx);
}

Obtenez une licence API gratuite

Vous pouvez utiliser Aspose.Slides for .NET sans limitation d’évaluation en obtenant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris à créer des tableaux dans des présentations PowerPoint à l’aide de C#. De plus, vous avez vu comment accéder et manipuler par programmation des tableaux existants dans les présentations PowerPoint. De plus, vous pouvez visiter la documentation pour en savoir plus sur Aspose.Slides for .NET. Vous pouvez également poser vos questions via notre forum.

Voir également